在 React 中更新状态 属性 的有效方法?
valid way to update a state property in react?
对反应很陌生,所以我想检查一下这是否正确。我没有收到错误,只是为了确保我以正确的方式执行此操作。
state = {
results: [],
};
此方法在到达时更新状态:
searchRequestHandler = () => {
const filterCopy = this.state.filter;
const dogsCharacteristicsData = dataFromServerModelerUponSearch(
this.props.dogs
);
const resultsFromFilter = filterDataResults(
filterCopy,
dogsCharacteristicsData
);
this.setState({ formIsOpen: false, results: [...resultsFromFilter] });
};
我也很想知道如何通过重组来做到这一点。谢谢!
以下是控制台中 resultsFromFilter 变量的数据:
您在更新结果状态时做对了。
还有其他方法可以像这样更新结果数组:
let result = resultsFromFilter;
this.setState({ formIsOpen: false, results: result});
或者
this.setState({ formIsOpen: false, results: resultsFromFilter });
对反应很陌生,所以我想检查一下这是否正确。我没有收到错误,只是为了确保我以正确的方式执行此操作。
state = {
results: [],
};
此方法在到达时更新状态:
searchRequestHandler = () => {
const filterCopy = this.state.filter;
const dogsCharacteristicsData = dataFromServerModelerUponSearch(
this.props.dogs
);
const resultsFromFilter = filterDataResults(
filterCopy,
dogsCharacteristicsData
);
this.setState({ formIsOpen: false, results: [...resultsFromFilter] });
};
我也很想知道如何通过重组来做到这一点。谢谢!
以下是控制台中 resultsFromFilter 变量的数据:
您在更新结果状态时做对了。 还有其他方法可以像这样更新结果数组:
let result = resultsFromFilter;
this.setState({ formIsOpen: false, results: result});
或者
this.setState({ formIsOpen: false, results: resultsFromFilter });