每次单击时渲染组件

时间:2019-08-24 23:30:24

标签: javascript reactjs redux

我有一个显示名称和ID的国家/地区列表。 我希望能够编辑国家/地区,所以我为每一行添加编辑按钮。组件的结构如下:

ListComponent
 -- Edit Component // will show a modal
 --- Modal Component
 ---- Form Component

我应该在模态打开时填写表格,现在的问题是: 我应该使用哪种生命周期方法来填写表格?

componentDidMount仅触发一次。

componentDidUpdate不会在首次通话时触发,而是会在之后触发。

代码:

  componentDidMount(prevProps, prevState) {
      if(this.props.status == 'update') {
        this.props.form.setFieldsValue({
          isForeign: this.props.country.isForeign,
          name: this.props.country.name,
        });
      }
  }

2 个答案:

答案 0 :(得分:1)

如果要在类组件中处理启动和更新,则必须同时使用两种生命周期方法。这是React实施功能组件挂钩以避免冗余的一个重要原因。

https://reactjs.org/docs/hooks-intro.html

答案 1 :(得分:0)

您可以使用=

  

componentWillReceiveProps:当特定道具更新为时执行   触发状态转换。

我的代码库中的小例子

=