Hi guys I started learning React recently and I am stuck here with this problem. Where i use this TagsInput component I made a button that needs to reset the searchValue of the TagsInput component.
By that I meant this:
const [searchValue, setSearchValue] = useState('')
from the TagsInput component.
This is the entire TagsInput component:
import React, {useState} from 'react';
import '../styles/InputField.scss'
import {useDebounce} from "react-use";
import {autocompleteCall} from "../../helpers/helpers";
const TagsInput = ({url, placeholder, tags, setTags, name, setIsEdited, className}) => {
    const [resultTags, setResultTags] = useState([])
    const [searchValue, setSearchValue] = useState('')
    const [isReady, cancel] = useDebounce(
        async () => {
            const res = await autocompleteCall(url, searchValue)
            setResultTags(res)
        },
        400,
        [searchValue]
    );
//remove item from array
    const removeTag = (index) => {
        const filteredTags = tags.filter((item, i) => {
            return i !== index
        })
        setTags(filteredTags)
        setIsEdited(true)
    }
//add tag in array
    const addTag = (item) => {
        if (!tags.some(tag => tag.id === item.id)) {
            setTags([...tags, item]);
        }
    }
    const handleChange = (e) => {
        setSearchValue(e.target.value)
        setIsEdited(true)
    }
    return (
        <>
            <div className={"tags-input " + className}>
                {
                    (tags || []).map((tag, i) => {
                        return <span key={i} className="tag ">{tag.name}
                            <span onClick={() => removeTag(i)}
                                className={'ml-2 pointer'}>× </span>
                    </span>
                    })
                }
                <input name={name} type="text" onChange={handleChange} placeholder={placeholder}
                    size="1"/>
            </div>
            {resultTags && <div className={'d-flex flex-wrap mt-1'}>{(resultTags || []).map((item, i) => {
                return <span className={'res-tag pointer'} key={i} onClick={() => addTag(item)}>{item.name}</span>
            })}</div>}
        </>
    );
};
export default TagsInput;
and I use it here:
import React, { useState, useEffect } from "react";
import TagsInput from "../../../App/components/TagsInput";
// other imports
<TagsInput
    placeholder={"Type your skills"}
    url={"/api/info/skills/"}
    tags={tags}
    setTags={setTags}
    name={"skills"}
    setIsEdited={setIsEdited}
/>
<button onClick={()=>{
    // reset the TagsInput Value to be ''
    // setSearchValue('') // Something like this. This doesn't work of course
}} ></button>
I don't even know how to approach this problem. Is it doable? Any help would be much appreciated!
 
    