【发布时间】:2019-02-24 08:56:19
【问题描述】:
我现在正在尝试使用已弃用的 componentWillReceiveProps 从以前的 Props 中设置状态,如下所示
componentWillReceiveProps(props) {
this.setState({
temp: Math.round(((props.weather.temp-273.15)*1.8)+32)
})
console.log(this.state)
}
我面临的问题是,当我这样做时,当应用程序更新时,状态为 NaN 1 秒钟,然后才变为正确的数字。
我尝试使用 componentWillMount(){} 代替,但这不仅不是用于设置状态的好生命周期,以前的道具 在此期间不可用
如何防止这个 NaN 出现在渲染的 DOM 中并且只显示状态?
编辑
你们都是对的。我更关心是否应该有一个生命周期或 React 特定的处理程序来解决这种问题。我想 React 确实主要由普通的 javascript 组成。
【问题讨论】:
-
谢谢@Yoav。不过,我主要担心的是……这是正常行为吗?除了 componentWillMount 之外,是否没有一种 lifeCycle 方法可以让 prop 立即作为值出现?
标签: reactjs redux state react-props