Javascript 如何通过参数调用组件?
如果没有此开关,如何调用组件? 比如:Javascript 如何通过参数调用组件?,javascript,reactjs,react-native,Javascript,Reactjs,React Native,如果没有此开关,如何调用组件? 比如: <(route.id) navigator={navigator} /> navigatorRenderScene(route, navigator) { switch (route.id) { case 'First': return <First navigator={navigator} /> case 'Second': return <Second n
<(route.id) navigator={navigator} />
navigatorRenderScene(route, navigator) {
switch (route.id) {
case 'First':
return <First navigator={navigator} />
case 'Second':
return <Second navigator={navigator} />
case 'Third':
return <Third navigator={navigator} />
}
}
navigatorRenderScene(路线、导航器){
交换机(route.id){
第一个案例:
返回
第二个案例:
返回
第三个案例:
返回
}
}
这是一个示例解决方案
const FIELD_MAPPING = {
First,
Second,
Third,
};
render() {
const ComponentField = FIELD_MAPPING[route.id] || DefaultComponentField;
return <ComponentField navigator={navigator} />;
}
大写类型表示JSX标记引用的是React组件。这些标记被编译成对命名变量的直接引用,因此如果使用JSX表达式,Foo必须在范围内
否则,类型为字符串或非大写变量,并解释为HTML标记
React.createElement('div', options);
相当于
const tag = 'div';
React.createElement(tag, options);
您正在寻找类似于
反应路由器的产品吗?我已经编辑了我的答案,你可以再次查看。
return React.createElement(MyComponent, options);
React.createElement('div', options);
const tag = 'div';
React.createElement(tag, options);