Reactjs React Redux生命周期道具

Reactjs React Redux生命周期道具,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我正在为我正在构建的web应用程序使用react和redux 在大多数情况下,一切都很好,但我有一个主要的问题,当涉及到从家长传递道具 我有一个主组件,它连接到redux并获得我的商店。我很好地通过了道具: { this.props.children && React.cloneElement( this.props.children, { preset: this.state.preset, children: this.state.ba

我正在为我正在构建的web应用程序使用react和redux

在大多数情况下,一切都很好,但我有一个主要的问题,当涉及到从家长传递道具

我有一个主组件,它连接到redux并获得我的商店。我很好地通过了道具:

{ this.props.children && React.cloneElement(
  this.props.children, 
    { 
      preset: this.state.preset,
      children: this.state.babies,
      child: this.state.currentChild,
      name: this.state.firstName,
    }
)} 
所以我的特别页面得到了这个道具。然后,我将所需的道具传递给子组件,但是我无法访问装载时的道具或react提供的任何其他生命周期方法。它们唯一可用的地方似乎是在render方法中,这是在运行未定义的检查之后:

let child = this.props.child;

if(child.birthdate != undefined) {
  // do stuff here
}
看起来我收到了两次未定义的道具,然后道具终于出现了,我可以使用它们了

我的问题是我应该访问哪个生命周期组件来格式化数据。我已经运行了文档中所有可用的方法来尝试console.log并查看我的位置,但它们都返回空。我在渲染中唯一能得到道具的地方

我的解释不好,我知道,但任何帮助都将不胜感激


-E

组件将接收Props生命周期方法应该起到作用。你可以得到一个传入的道具并在那里格式化它。之后,可以在组件状态下设置格式化数据,并在渲染方法中使用它,如下所示

componentWillReceiveProps(nextProps) {
  this.setState({
    formattedBirthdate: nextProps.child.birthdate
  });
}
第二个选项是在构造函数中执行相同的操作

之后,可以在render中输出formattedBirthdate,如下所示:

this.state.formattedBirthdate && <div>{this.state.formattedBirthdate}</div>
this.state.formattedBirthdate&&{this.state.formattedBirthdate}

组件WillReceiveProps生命周期方法应该会起作用。你可以得到一个传入的道具并在那里格式化它。之后,可以在组件状态下设置格式化数据,并在渲染方法中使用它,如下所示

componentWillReceiveProps(nextProps) {
  this.setState({
    formattedBirthdate: nextProps.child.birthdate
  });
}
第二个选项是在构造函数中执行相同的操作

之后,可以在render中输出formattedBirthdate,如下所示:

this.state.formattedBirthdate && <div>{this.state.formattedBirthdate}</div>
this.state.formattedBirthdate&&{this.state.formattedBirthdate}

谢谢@Shota的工作和帮助。有人能给我指一篇关于生命周期的好文章吗?什么时候会用到这些道具?我只是想了解更多并掌握这些生命周期方面的知识。我在React的生命周期方法官方文档中发现的最令人困惑的部分是,它没有明确说明哪个生命周期方法与初始化有关,哪个与状态和道具更改有关。为了更好地理解,请看这篇文章:,谢谢@Shota的工作和帮助。有人能给我指一篇关于生命周期的好文章吗?什么时候会用到这些道具?我只是想了解更多并掌握这些生命周期方面的知识。我在React的生命周期方法官方文档中发现的最令人困惑的部分是,它没有明确说明哪个生命周期方法与初始化有关,哪个与状态和道具更改有关。为了更好地理解,请阅读以下文章:,