【发布时间】:2018-10-15 14:09:16
【问题描述】:
需要了解 ReactJs 中这两个 func 的区别。 ComponentWillMount(){} VS ComponentDidMount(){}
【问题讨论】:
-
前者被调用就在组件将挂载到DOM之前。后者紧随其后。这是他们的名字所暗示的...... will 和 did.
-
知道了。非常感谢。
标签: reactjs
需要了解 ReactJs 中这两个 func 的区别。 ComponentWillMount(){} VS ComponentDidMount(){}
【问题讨论】:
标签: reactjs
componentWillMount() 在第一次渲染之前被调用,而 componentDidMount() 在第一次渲染之后被调用。这两个组件只被调用一次
请注意,最新的 React 版本 v16 已弃用 componentWillMount()
【讨论】:
讨论最多的话题仍在解释我的理解。
ComponentWillMount 顾名思义,在渲染之前执行
ComponentAfterMount 在渲染之前执行,一旦组件按照名称显示在屏幕上。
查看示例中的控制台日志
class App extends React.Component {
componentWillMount(){
console.log("console loging before component will mount");
}
componentDidMount(){
console.log("console loging after mounting component");
}
render(){
console.log("rendering component")
return(
<div> component</div>
)
}
}
ReactDOM.render(<App />, document.getElementById('root'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id='root' />
【讨论】:
componentDidMount()
componentWillMount()
您应该避免使用 componentWillMount 并改用 componentDidMount 和构造函数 更多信息请查看官方react docs
【讨论】: