繁体   English   中英

关于生命周期方法和渲染反应?

[英]About life cycle methods and render in react?

我的问题是关于react中的生命周期方法,现在我有这个场景:父组件的componentDidMount中的ajax获取一些数据,然后这些数据作为prop传递给子组件,现在我们在子组件中,所以我们可以实现不同的生命周期方法,

componentDidMount :无法看到道具的真实值,例如在其中记录日期返回空数组而不是所需的数组

componentWillMount :相同。

componentWillReceiveProps : 如果不使用nextProps则相同

componentDidUpdate :记录数据返回作为 prop 传递的所需数据

渲染:返回所需的数据

那么我是否应该总是被迫在 componentDidUpdate 或 render 中调用我的数据???,有没有办法在没有 redux 的情况下进行管理?

您孩子的componentWillMountcomponentDidMount可能只接收一个空数组(我认为这是默认值),因为 Child 组件在返回 API 结果之前实例化,例如<Child result={result} />而不是result.length > 0 && <Child result={result} /> Mount 只发生一次,然后componentDidUpdate发生在每次 prop 更改之后。

假设您只是显示传递下来的数据,那么在渲染中处理它是完全可以接受的。 否则,如果您想执行其他副作用,请检查父组件中的完整性(上段),此时您应该能够看到子componentDidMountcomponentDidMount的完整值。 或者,您可以按照您的建议在子componentDidUpdatecomponentDidUpdate执行完整性检查并在那里处理它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM