zoukankan      html  css  js  c++  java
  • React componentWillMount

    今天在写React时,遇到的一个问题:

    我在父组件里引用了子组件,在 componentWillMount() 中调用了一个异步函数,在返回结果中调用 this.setState() 来保存数据,在子组件的select下拉框里,使用state来渲染,结果子组件一直没值。

    仔细检查后,查寻API:

    omponentWillMount 在渲染前调用,在客户端也在服务端。

    componentDidMount : 在第一次渲染后调用,只在客户端。之后组件已经生成了对应的DOM结构,可以通过this.getDOMNode()来进行访问,在这方法中调用setState方法,会触发重渲染。

     componentWillReceiveProps 在组件接收到一个新的 prop (更新后)时被调用。这个方法在初始化render时不会被调用。

    shouldComponentUpdate 返回一个布尔值。在组件接收到新的props或者state时被调用。在初始化时或者使用forceUpdate时不被调用。 可以在你确认不需要更新组件时使用。

    componentWillUpdate在组件接收到新的props或者state但还没有render时被调用。在初始化时不会被调用。

    componentDidUpdate 在组件完成更新后立即调用。在初始化时不会被调用。 componentWillUnmount在组件从 DOM 中移除的时候立刻被调用。

    解决办法:

    将异步方法这些放在componentDidMount中,就不会出现这个问题

  • 相关阅读:
    前端必备工具-IETest
    mysql_fetch_assoc 跟mysql_fetch_array 有什么区别?
    如何将Emmet安装到到 Sublime text 3?
    如何将Emmet(ZenCoding)安装到到Dreamweaver8?
    前端必备工具-Emmet (Zen Coding)
    前端必备工具-Sublime Text 2
    开店资源分享
    开店充值其实可以很便宜
    简单Gif制作
    项目笔记:导入功能
  • 原文地址:https://www.cnblogs.com/tylz/p/11224849.html
Copyright © 2011-2022 走看看