1
A
回答
1
您可以創建一個導出所有不同組件
// Components.js
export Foo from './Foo'
export Bar from './Bar'
然後將它們導入文件中的所有
import * as Components from './Components'
那麼你可以動態地創建他們基於變量/道具:
render() {
// this.props.type = 'Foo'
// renders a Foo component
const Component = Components[this.props.type];
return Component && <Component />;
}
3
您需要引用存儲到動態組件:
import ComponentName from 'component-name'
class App extends Component {
constructor(props) {
super(props)
this.components = {
'dynamic-component': ComponentName
}
}
render() {
// notice capitalization of the variable - this is important!
const Name = this.components[this.props.componentName];
return (
<div>
<Name />
</div>
)
}
};
render(<App componentName={ 'dynamic-component' } />, document.getElementById('root'));
更多信息,請參見react docs。
0
Okay, for me this worked:
import {Hello} from 'ui-hello-world';
let components = {};
components['Hello'] = Hello;
export default components;
然後在我的課上: 從'..... json'導入customComps; .... let Component = Custom.default [customComps.componentName];
return (
<Component
相關問題
- 1. 動態添加反應組件
- 2. 動態添加圖像反應Webpack
- 3. 動態加載反應組件
- 4. 如何動態添加更多組件反應本機
- 5. 動態成分反應
- 6. 加載靜態SVG文件反應並添加動態式樣
- 7. 添加部分與動態數組
- 8. 在反應應用程序中動態添加樣式屬性
- 9. 動態呈現組件在反應V15
- 10. 反應的組分狀態VS道具動態輸入
- 11. 反應原生參考不工作在動態添加行
- 12. e.target.value在添加動態輸入數據時反應不明確
- 13. 動態添加可滾動選項卡mdl反應?
- 14. 綁定反應組分Redux的狀態
- 15. Zenject動態添加組件
- 16. 添加UI組件動態
- 17. 動態添加gui組件?
- 18. 動態添加Primefaces組件
- 19. 動態添加組合框
- 20. 動態添加組織
- 21. 動態添加組件
- 22. 動態加載分組tableView
- 23. 添加成員動態反對
- 24. 無狀態組件中的反應添加/刪除類onScroll
- 25. 動態添加組到列表視圖不反映後notifyDataSetChanged
- 26. 添加分解反應路由器
- 27. 添加「<script>」反應成分
- 28. 添加裝載機反應成分
- 29. 動態反應選擇菜單組件
- 30. 創建動態組件反應(本機)
參考此答案https://stackoverflow.com/questions/36941829/how-to-load-component-dynamically-in-reactjs/46188808#46188808 –