开发者社区> 问答> 正文

#React 如果您在初始状态下使用道具会发生什么?

#React 如果您在初始状态下使用道具会发生什么?

展开
收起
因为相信,所以看见。 2020-05-07 17:47:26 812 0
1 条回答
写回答
取消 提交回答
  • 阿里,我所有的向往

    如果在不刷新组件的情况下更改了组件的属性,则新的属性值将永远不会显示,因为构造函数将永远不会更新组件的当前状态。props的状态初始化仅在首次创建组件时运行。

    以下组件将不会显示更新的输入值

    class MyComponent extends React.Component {
      constructor(props) {
        super(props)
    
        this.state = {
          records: [],
          inputValue: this.props.inputValue
        };
      }
    
      render() {
        return <div>{this.state.inputValue}</div>
      }
    }
    

    在render方法中使用props将更新值:

    class MyComponent extends React.Component {
      constructor(props) {
        super(props)
    
        this.state = {
          record: []
        }
      }
    
      render() {
        return <div>{this.props.inputValue}</div>
      }
    }
    
    
    2020-05-07 17:48:27
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
利用编译将 Vue 组件转成 React 组件 立即下载
React Native 全量化实践 立即下载
React Native项目实战优化之路 立即下载