xuchaobei / react-book

《React进阶之路》示例代码
281 stars 143 forks source link

第6章 #6

Closed ycshill closed 6 years ago

ycshill commented 6 years ago

componentWillMount() { let data = localStorage.getItem('data'); if(data) { this.setState({ data, }) } } 书中以上的这段代码为什么会选择写在componentWillMount中,而不是componentDidMount 中呢?

xuchaobei commented 6 years ago

并没有特殊原因,放到componentDidMount中也可以

ycshill commented 6 years ago

’这个函数没什么存在感,因为在这个时候没有任何渲染出来的结果,调用setState修改状态也不会触发重新渲染,并且在这里做的事情完全可以提前到constructor中去做 ‘ 我感觉在这里写不是太好

xuchaobei commented 6 years ago

@ycshill 你说的没有问题,事实上,从16.3开始,componentWillMount这个方法已经被标记为遗弃的(legacy)

ycshill commented 6 years ago

ok ,thank you