環顧下一個我找不到答案:我如何動態地包含一個文件,基於每個說道具的改變:這裏有一些sudo代碼,試圖做!動態地包含文件(組件)並動態注入這些組件
class Test extends React.Component {
constructor(props){
super(props)
this.state = { componentIncluded: false }
includeFile() {
require(this.props.componetFileDir) // e.g. ./file/dir/comp.js
this.setState({ componentIncluded: true });
}
render() {
return(
<div className="card">
<button onClick={this.includeFile}> Load File </button>
{ this.state.componentIncluded &&
<this.state.customComponent />
}
</div>
)
}
}
所以this.props.componetFileDir
訪問的文件目錄,但我需要動態包括它,並不能真正確實需要()作爲它似乎動作onClick
被調用之前運行。任何幫助都會很棒。
無論如何,'Button'組件將被導入,你爲什麼不想要做簡單的導入,然後管理導入組件的行爲? –
我的答案能解決您的問題嗎? –
因爲'webpack'的穩定版本不支持'System.import',所以我使用'require.resolve'工作,並且不想在一個函數中包含'system.js'。 – Kivylius