如题,React组件第二次渲染的时候会先显示之前的值,如何做到组件unmount的时候把值清掉?组件的值都是通过props传递的???
我也碰到过这个问题, 目前还没找到一个好的办法, 一直在搁置.
我的处理方法就是,
React组件第二次渲染的时候会先显示之前的值
这些值使用state去管理, 重绘的时候把state set为初始值.
使用state.loading如state.loading.models.users,在componentWillReceiveProps中判断state.loading.models.users是否为false,只有为false的时候才重新赋值
你所指的第二次渲染是指this.setState({}) 这样渲染嘛?unmount 这个生命周期是在组件删除或者不调用后执行的,可以消除定时器,引用组件的消除,解绑事件等,但消除一个特定的值,貌似不可以,你问的问题耶不太详细
4 回答1.6k 阅读
2 回答1k 阅读✓ 已解决
2 回答2.6k 阅读
1 回答936 阅读✓ 已解决
1 回答666 阅读✓ 已解决
2 回答827 阅读✓ 已解决
2 回答982 阅读
你可以在
componentWillUnmount
周期中去做这些清理。通常情况Unmount
之后该组件内部的状态应该不影响其它组件的正常使用的。如果不能,那说明组件设计可能不太规范。Component LiftCycle