React:在另一个组件中使用组件

React: Use component inside another component

我是新手所以我希望问题不会太愚蠢。

简而言之:我想在另一个组件道具中使用某个组件。 但它并没有像预期的那样工作。

我想在以下组件中使用 Material UI CardsLink to repo of "Material-UI Tree View"

为了测试我写了下面的代码:

import React,{Component} from 'react';
import SplitPane from "react-split-pane";
import MuiTreeView from 'material-ui-treeview';
import Demo from './demo';


export class App extends Component {
    render() {

        const tree = [
            {
                value: 'Parent A',
                nodes: [{ value: Demo}]
            }

        ];
        return (
            <SplitPane split="vertical"  defaultSize={500} allowResize={false}>

                <div><MuiTreeView tree={tree} /></div>
                <div id="mynetwork"></div>
            </SplitPane>
        );
    }
}

导入

import Demo from './demo';

是示例简单卡:https://codesandbox.io/s/3vl744v6z5

在我的 index.js 中,我这样渲染应用程序组件:

ReactDOM.render(
    <App />,
    document.getElementById('root')
);

希望大家指点一下哪里可以看。

提前致谢,

珊瑚

不行,查看MuiTreeView的源文件,tree prop只能是一个字符串,或者递归一个props值是字符串的对象...

由于您使用的是 MaterialUI 组件,请尝试检查 MUI 提供的 expansion panels 并尝试获得所需的结果。在这种情况下,无需将您的组件作为 props 传递。

MuiTreeView 期望一棵树在每个叶节点上都有一个 .value 成员,即要呈现的 string。它根本不支持以这种方式注入自定义组件。

看它就知道了prop-types