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)
}