• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

React子组件没有随父组件更新问题的解决

武飞扬头像
南城巷陌
帮助1

前言:今天遇到一个小需求,本来只是修改文案的,结果问题卡了很久很久,想想还是太菜了

问题描述:

根据changePlaceHolder修改AInput的placeholder的默认值,AInput是封装的antd的input组件,期间发现,无论如何改变changePlaceHolder,placeholder显示的都是“显示2”,但其实changePlaceHolder已经是成功改变了的

学新通

后面在AInput子组件里面发现,封装的时候,将父组件传的placeholder先在constructor中保存在state里面,使用的时候直接用的this.state.placeholder,造成了子组件没用随父组件更新的结果。

学新通

学新通

解决方法:

方法一:

在子组件中直接通过placeholder={this.props. placeholder}获取父组件的传值

placeholder={this.props.placeholder}

方法二:

在componentWillReceiveProps对父组件传的参数再一次赋值到state中

  1.  
    componentWillReceiveProps(nextProps) {
  2.  
        this.setState({placeholder: nextProps.placeholder});
  3.  
    }

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgageik
系列文章
更多 icon
同类精品
更多 icon
继续加载