小编pur*_*ool的帖子

将值传递给子组件(this.props.children)

我在布局中有一个子组件,我想传递一个道具值.但我不知道怎么做.在下面的类中,layoutFileDataRequest()从click事件的子组件接收字符串变量.需要将该值发送到this.props.children组件之一,以便它可以更新.

我该怎么做呢?在下面的代码 React.cloneElement(child, {中没有改变它总是保持不变,这意味着我无法更新子道具.

  export default class Layout extends React.Component {
    constructor(props) {
      super(props)

      this.layoutFileDataRequest = this.layoutFileDataRequest.bind(this);
      this.state = {
        newData: '',
        returnData: 'test',

      }
    }

    /**
     *  Received request from server add it to 
     *  react component so that it can be rendered
     */
    layoutFileDataRequest(data) {
      this.setState({ returnData:data })
    }


    renderChildren() {
      return React.Children.map(this.props.children, child => {
        console.log(this.state.returnData); 
          return React.cloneElement(child, {
            data: this.state.returnData
          })
      });
    } 

    /**
     *  Render request
     * 
     * 
     */
    render() {
      const { location …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

8
推荐指数
1
解决办法
2240
查看次数

标签 统计

javascript ×1

reactjs ×1