Javascript 在React中父组件中的值更改时更新子组件

Javascript 在React中父组件中的值更改时更新子组件,javascript,reactjs,Javascript,Reactjs,我这样称呼这个子组件 <FilterItem filterOption={filterOption} updateFilter={updateFilter} value={filter[filterOption.fieldName]}/> const [filter, setFilter] = useState({}); 在这种方法中,状态发生了变化 const updateFilter = (key, value) => { var tempFilter = fi

我这样称呼这个子组件

<FilterItem filterOption={filterOption} updateFilter={updateFilter} value={filter[filterOption.fieldName]}/>
const [filter, setFilter] = useState({});
在这种方法中,状态发生了变化

const updateFilter = (key, value) => {
    var tempFilter = filter;
    tempFilter[key] = value;
    setFilter(tempFilter);
};
此方法是从子级调用的

const changeFilter = (event) => {

    var key = event.target.getAttribute("field");
    var value = (() => {
        switch(event.target.type){
            case "checkbox":
                return event.target.checked;
            case "range":
                return event.target.value
        }
    })();
    
    props.updateFilter(key, value)
}

您能否显示如何更改父级中的值。你需要确保你没有改变状态。如果您改变状态,react无法识别更改。您如何更改父组件的值?如果要更新状态,父组件应该传递状态信息:
@RobinClower我使用的是功能组件,我相信发送statename将与此相同。state.statename
const changeFilter = (event) => {

    var key = event.target.getAttribute("field");
    var value = (() => {
        switch(event.target.type){
            case "checkbox":
                return event.target.checked;
            case "range":
                return event.target.value
        }
    })();
    
    props.updateFilter(key, value)
}