gpt4 book ai didi

javascript - 在 React 中,在下拉列表中进行提取时我应该依赖哪个值? e.target 值或来自状态的值

转载 作者:行者123 更新时间:2023-12-02 00:08:53 25 4
gpt4 key购买 nike

这种东西的最佳实践是什么?

handleChange = e => {
const { value } = e.target;
this.setState({ selectedOption: value });
this.fetchrepos(value);
};



handleChangeVersion2 = e => {
const { value } = e.target;
this.setState({ selectedOption: value }, () => {
this.fetchrepos(this.state.selectedOption);
});
};

代码如下 https://codesandbox.io/s/cold-dust-ygfos

最佳答案

都没有。每个功能都应该有一个明确定义的目标(Single Responsibility Principle)。一个处理状态变化,另一个处理数据获取等副作用。您不应该将行为耦合在一起。

您应该使用组件生命周期函数之一来获取状态中的选择值更新并进行数据获取。 componentDidUpdate 就是其中之一。

handleChange = e => {
const { value } = e.target;
this.setState({ selectedOption: value });
};

componentDidUpdate(prevState) {
if (prevState.selectedOption !== this.state.selectedOption) {
fetchRepos(this.state.selectedOption);
}
}

关于javascript - 在 React 中,在下拉列表中进行提取时我应该依赖哪个值? e.target 值或来自状态的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59701170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com