React组件第二次渲染的时候会先显示之前的值?

如题,React组件第二次渲染的时候会先显示之前的值,如何做到组件unmount的时候把值清掉?组件的值都是通过props传递的???

阅读 5.6k
6 个回答

你可以在componentWillUnmount周期中去做这些清理。通常情况Unmount之后该组件内部的状态应该不影响其它组件的正常使用的。如果不能,那说明组件设计可能不太规范。

Component LiftCycle

我也碰到过这个问题, 目前还没找到一个好的办法, 一直在搁置.
我的处理方法就是,

React组件第二次渲染的时候会先显示之前的值

这些值使用state去管理, 重绘的时候把state set为初始值.

可以把你的问题再详细描述点么…… 或者贴点图

新手上路,请多包涵

应该为组件添加一个loading状态,用loading覆盖第一次的渲染

新手上路,请多包涵

使用state.loading如state.loading.models.users,在componentWillReceiveProps中判断state.loading.models.users是否为false,只有为false的时候才重新赋值

你所指的第二次渲染是指this.setState({}) 这样渲染嘛?unmount 这个生命周期是在组件删除或者不调用后执行的,可以消除定时器,引用组件的消除,解绑事件等,但消除一个特定的值,貌似不可以,你问的问题耶不太详细

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题