Javascript 我应该使用什么生命周期方法来侦听状态的更改并相应地更新react类组件中的其他状态
我正在开发一个应用程序,它有一个数据数组,用户选择时间跨度,如Javascript 我应该使用什么生命周期方法来侦听状态的更改并相应地更新react类组件中的其他状态,javascript,reactjs,Javascript,Reactjs,我正在开发一个应用程序,它有一个数据数组,用户选择时间跨度,如每月,每周等,根据该数组应在屏幕上呈现。我尝试在组件willupdate中执行此操作,但我不确定。但它给了我错误 有一个下拉列表,用户从中选择timespan值。我不知道应该把它放在哪里,这样它就可以在timeSpan 任何帮助都会很好 这是我的密码 if (this.state.timeSpan === "yearly") { const yearlyData = this.props.dispens
每月
,每周
等,根据该数组应在屏幕上呈现。我尝试在组件willupdate
中执行此操作,但我不确定。但它给了我错误
有一个下拉列表,用户从中选择timespan
值。我不知道应该把它放在哪里,这样它就可以在timeSpan
任何帮助都会很好
这是我的密码
if (this.state.timeSpan === "yearly") {
const yearlyData = this.props.dispensingData.duration["yearly"];
this.setState({ spanData: yearlyData });
} else if (this.state.timeSpan === "weekly") {
const weeklyData = this.props.dispensingData.duration["weekly"];
this.setState({ spanData: weeklyData });
}
您可以使用componentDidUpdate方法(此处的文档:)
您不需要使用
setState
从道具中拾取特定的关键点。对于用户输入的数据,应使用setState
const {timeSpan} = this.state;
let data;
if (timeSpan === "yearly" || timeSpan === "weekly") {
data = this.props.dispensingData.duration[timeSpan];
}
例如,您的渲染功能应该足以满足此用例。这里我需要将时间跨度与
每周的每月的进行比较
const {timeSpan} = this.state;
let data;
if (timeSpan === "yearly" || timeSpan === "weekly") {
data = this.props.dispensingData.duration[timeSpan];
}