将另一个组件传递给React组件

时间:2016-05-11 03:50:11

标签: reactjs

在这里反应新手。

我正在尝试创建一个简单的类别树,它允许您将JSON结构呈现为树。此JSONView的作用是了解JSON结构并将其拆分为分层树。并且将根据自定义渲染逻辑来解析树的节点,该逻辑可以注入到该面板中。 这符合单一责任原则,即JSONView负责解析数据并在叶子上呈现视图组件。视图组件负责渲染逻辑。我可以通过在此处将视图组件作为JSONViewPanel的子组件来实现此目的: http://jsbin.com/tiwijilide/1/edit?js,output

但我真的想实现这样的目标:

let x = {
  "category":["first","second","third","fourth"]
};

class JSONPanel extends React.Component{ 
    constructor(props){
      super(props);
    }

    render(){
      let {data, ...x} = this.props;
      let dataNodes = data.category.map((category) => {
        x = Object.assign(x, {text:category});
        return (
          <li><Component {...x}/></li> //Component passed as props
        )
      });
      return (
        <ul>{dataNodes}</ul>
      );
    }
  };

目的是将React组件的任何子类型传递给此JSONView。

是否可以不将子组件的Node组件子元件作为JSBin链接中的子组件?

1 个答案:

答案 0 :(得分:1)

是的,有可能:try it!

List.Add()

该组件可以作为道具提供,并且必须通过带有大写首字母的字符串进行调用。