我有一些渲染相同组件的路由。每条路线都有一个特定的组件作为其要呈现的属性。 这在CommonComponent中可以正常工作: 是否有JSX方式来做React.createElement?路由示例如下: 答案 0 :(得分:1) 是的,有。所需的技巧是将组件存储在具有大写名称的变量中!听起来很傻,但这是事实。因此,在<CommonComponent specificComponent={SpecificComponent} propName="propValue" />
React.createElement(specificComponent, { dataUrl: dataUrl });
<Route path="/pageOne">
<CommonComponent specificComponent={SpecificComponentOne} dataUrl="dataUrl" />
</Route>
<Route path="/pageTwo">
<CommonComponent specificComponent={SpecificComponentTwo} dataUrl="dataUrl" />
</Route>
1 个答案:
CommonComponent
中,您可以使用:const ComponentToRender = props.specificComponent;
return (<ComponentToRender ... />);