javascript - 如何在 ReactJs 中将值从父元素传递到子元素?

标签 javascript reactjs

如果我有嵌套的 React 元素,当子元素不在父元素内部时,如何将父元素中的值传递给子元素。

React.render(
  <MainLayout>
    <IndexDashboard />
  </MainLayout>,
  document.body);

在此代码中,我希望能够在 IndexDashboard 元素中访问 MainLayout 元素中的一些函数。如何将这些函数传递给子元素?

最佳答案

可以使用cloneElement函数修改子组件的props:

#MainLayout

render: function(){ (
  var contents = React.Children.map(this.props.children, function(child) {
    return React.cloneElement(child, {onSomeEvent: this.onSomeChildEvent})
  }.bind(this));

  return (
        <div>
            {contents}
        </div>
  );       
}

详情请参阅以下链接:https://facebook.github.io/react/blog/2015/03/03/react-v0.13-rc2.html

关于javascript - 如何在 ReactJs 中将值从父元素传递到子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31681138/

相关文章:

javascript - 显示提交的值

javascript - 当数据在相关表中时,Next JS 中的 supabase 返回一个空数组

javascript - jQuery.animate() 函数上的菜单 "ul"与子菜单 "ul"元素重叠

javascript - 使用另一个 css 类在元素内命中一个 css 类

javascript - jQuery从点击事件函数中关闭点击事件间隔函数?

javascript - 将下划线与 jshint 一起使用

javascript - Jquery 创建/读取关联数组

javascript - ReactJS - 无法导入组件

javascript - 我可以在 React 中使用 useEffect 来更新页面显示吗?

javascript - React 项目中 webpack.config.js 放在哪里?