尝试从子级更改父级状态时,未更新父级状态。 (将处理程序作为道具从父母传递给孩子)

时间:2019-10-20 08:41:41

标签: reactjs antd

我知道,要更改父项的状态,我们需要将处理程序从父项传递给子项。我正在尝试从孩子更改父母的状态,但是由于某些原因父母的状态没有更新。这是下面的代码

https://codesandbox.io/s/hungry-raman-6jiwz?fontsize=14

基本上,当我单击表中的每个名称时,如果相应状态为“草稿”,则https://ant.design/components/drawer/必须弹出,否则仅是名称。弹出抽屉后,如果我关闭抽屉,则尝试使用

更改父级的状态
id:''
visible:false

要关闭抽屉,但由于某种原因未更新父级的状态,因此,在关闭抽屉表后,其名称显示为空。

我的要求是在抽屉关闭后显示表的名称。

任何帮助将不胜感激...

1 个答案:

答案 0 :(得分:2)

您的车工不正确

将列数组中的第一个条目的行更改为此

{
  title: "Name",
  dataIndex: "name",
  key: "name",
  render: (text, i) => (
    <a
       onClick={() => {
         this.setState({ id: i.key });
       }}
    >
     {this.state.id == i.key && i.status == "Draft" && <Test reset={this.reset} text={text} />}
     {text}
    </a>
  )
},

您有text变量或弹出窗口,但是您需要text变量和弹出窗口。

所以不是boolean ? truthy value : falsey value

您只需要真实的boolean && truthy value