希望不是xy问题,反应一些被废弃的生命周期方法,我们使用组件将挂载在我们的父组件中进行api调用,因为子内容取决于从这个api调用返回的内容。
当时我们无法使用componentDidMount进行调用,因为子组件生命周期方法在父组件的componentDidMount之前触发。
发布于 2020-11-28 18:21:23
如果您使用条件呈现只在API响应返回并更新状态后呈现子组件,则将API调用放入componentDidMount中即可。类似于:
render() {
return (
<div>
parent component stuff
{ this.state.apiResults ? <Child apiResults={this.state.apiResults} /> : null }
</div>
);
}其中,fetch结果在状态中更新apiResults。
发布于 2020-11-28 18:22:49
你有三个选择:
componentWillMount转换为UNSAFE_componentWillMount。这是一个短期的修复,不能从React 17开始工作,所以如果它是一个类-- recommended.useEffect中--就不会将您的API代码转换为组件的构造函数。推荐这样做:useEffect(() => {
// API code
}, []);https://stackoverflow.com/questions/65053004
复制相似问题