如何传递要在子组件中使用的父级状态?

奥兹格·科基亚萨

我有一个父组件,我在其中循环遍历数组并将其状态设置为clicked数组中单击项目的 id的状态

我在需要访问此状态的其他地方使用此组件。我怎样才能把这个状态传递下去?

这是我的循环:

{
 filteredArray.map(link => {
  return (
   <div
   key={link.id}
   role="button"
   style={{paddingBottom: 20}}
   onClick={this.changeView(link.id)}
   onKeyPress={() => {}}
   tabIndex={0}
  >
  <Paragraph size="large">
    <a className='heading__dropdown__link'>
     {link.label}
    </a>
  </Paragraph>
 </div>
)
})
}

这是我设置状态的函数 clicked

  changeView(id) {
    return (
      () => this.setState({clicked: id})
    )
  }

这是我使用上述组件的地方:如何在此处使用上述状态?

 <HeadingDropdown
  expandedTitle="Change view"
  links={links}
  heading={currentLocation}
 />
很酷的家伙

处理你的最后一条评论。如果您在 HeadingDropdown 中传递了一个用作道具的函数,您可以使用它来将它的状态值传递回父级。

Parent 中定义的函数

class Parent extends React.Component{
   state = {
     headingDropdownvalues: {}
   }

   getHeadingDropdownState = (valueFromChild) => {
      this.setState({
         headingDropdownvalues: valueFromChild
      })

   }

   render(){
      <HeadingDropdown passupstate={this.getHeadingDropdownState}/>
   }
}

所以现在您的父组件已设置为使用 HeadingDropdown 中的状态值。

现在我们需要配置 HeadingDropdown 以在单击后实际传递该值。

在 HeadingComponent 中,我们只需要更新您的 changeView 方法以在设置状态后调用我们传递的 prop。我们通过使用第二个参数this.setState()是回调来做到这一点

changeView(id) {
    return (
      () => this.setState({
        clicked: id
      }, () => this.props.passupstate(this.state)) //right here you can pass in whatever you want
    )
  }

这里还有一个沙箱供您查看它是如何工作的:https : //codesandbox.io/s/jovial-thompson-ldg3n

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在父组件中使用子组件的状态?

来自分类Dev

如何在父级的子级组件中设置状态?

来自分类Dev

如何从功能组件的父级更改子状态组件

来自分类Dev

如何将状态与父组件传递给子组件

来自分类Dev

如何将子组件的状态传递给父组件?

来自分类Dev

更新父级状态后如何将React子级组件重置为原始状态

来自分类Dev

AngularJS,如何在父级中使用子级的JSON?

来自分类Dev

如何在Angular 2中将对象从“父级”组件传递到“子级”组件?

来自分类Dev

如何在父级布局中使用挖空组件视图?

来自分类Dev

如何在父级布局中使用挖空组件视图?

来自分类Dev

如何将数据从子组件(子组件有自己的状态)传递给父组件?

来自分类Dev

如何通过父级传递反应组件?

来自分类Dev

如何更改从父级无状态传递的子级组件值

来自分类Dev

如何设置子组件的子组件的父组件状态

来自分类Dev

使用父组件将初始值传递给子组件,而无需依赖状态ReactJS

来自分类Dev

如果我有一个按钮在React中的第二个子级中触发状态,如何将状态传递给父级组件

来自分类Dev

我应该如何在父级的render方法中重新创建有状态的子级组件?

来自分类Dev

我应该如何在父级的render方法中重新创建有状态的子级组件?

来自分类Dev

如何将子级组件动态注入父级

来自分类Dev

如何根据父级动态调整子级组件的高度?

来自分类Dev

如何在将父级的fetch调用中的数据传递给它之前停止React子级组件的加载

来自分类Dev

如何在父级和子级组件之间动态设置setState()[逻辑在根应用程序级别的子级和状态上运行]

来自分类Dev

如何在Lisp中使用父级和子级指针制作Splay树

来自分类Dev

如何在Java中使用AspectJ记录父级和子级的线程ID

来自分类Dev

如何在php中使用动态父级从数组中获取子级

来自分类Dev

如何将状态从子组件传递到父组件?

来自分类Dev

在父级的构造函数中使用子级的属性

来自分类Dev

在React中,如何根据父级的子级组件计算父级的宽度?

来自分类Dev

如何将组件的所有状态存储在一个数组中,然后将其传递给父级?

Related 相关文章

  1. 1

    如何在父组件中使用子组件的状态?

  2. 2

    如何在父级的子级组件中设置状态?

  3. 3

    如何从功能组件的父级更改子状态组件

  4. 4

    如何将状态与父组件传递给子组件

  5. 5

    如何将子组件的状态传递给父组件?

  6. 6

    更新父级状态后如何将React子级组件重置为原始状态

  7. 7

    AngularJS,如何在父级中使用子级的JSON?

  8. 8

    如何在Angular 2中将对象从“父级”组件传递到“子级”组件?

  9. 9

    如何在父级布局中使用挖空组件视图?

  10. 10

    如何在父级布局中使用挖空组件视图?

  11. 11

    如何将数据从子组件(子组件有自己的状态)传递给父组件?

  12. 12

    如何通过父级传递反应组件?

  13. 13

    如何更改从父级无状态传递的子级组件值

  14. 14

    如何设置子组件的子组件的父组件状态

  15. 15

    使用父组件将初始值传递给子组件,而无需依赖状态ReactJS

  16. 16

    如果我有一个按钮在React中的第二个子级中触发状态,如何将状态传递给父级组件

  17. 17

    我应该如何在父级的render方法中重新创建有状态的子级组件?

  18. 18

    我应该如何在父级的render方法中重新创建有状态的子级组件?

  19. 19

    如何将子级组件动态注入父级

  20. 20

    如何根据父级动态调整子级组件的高度?

  21. 21

    如何在将父级的fetch调用中的数据传递给它之前停止React子级组件的加载

  22. 22

    如何在父级和子级组件之间动态设置setState()[逻辑在根应用程序级别的子级和状态上运行]

  23. 23

    如何在Lisp中使用父级和子级指针制作Splay树

  24. 24

    如何在Java中使用AspectJ记录父级和子级的线程ID

  25. 25

    如何在php中使用动态父级从数组中获取子级

  26. 26

    如何将状态从子组件传递到父组件?

  27. 27

    在父级的构造函数中使用子级的属性

  28. 28

    在React中,如何根据父级的子级组件计算父级的宽度?

  29. 29

    如何将组件的所有状态存储在一个数组中,然后将其传递给父级?

热门标签

归档