将 props 传递给动态导入的 React 组件

Dmi*_*try 6 reactjs

我动态导入组件

let that = this
import('./pathToMyComponent').then(component => {

    // how to pass props to the component here?..
    that.setState({myModule : component.default})

   })
Run Code Online (Sandbox Code Playgroud)

如何将 props 传递给组件?我将把组件传递给路由器:

<Route path='myPath' component={this.state.myModule}/>
Run Code Online (Sandbox Code Playgroud)

先感谢您。

更新:

我已经设法解决它:

  import('./pathToMyComponent').then(component => {

    that.setState({myModule : component.default})
  })
Run Code Online (Sandbox Code Playgroud)

然后在一个函数中:

GetComponent() {
 let match = {}
 let match.param = {nick : 'userNick'}
  let Component = this.state.module && this.state.module.default
         return this.state.myModule ?  (<Component match={match} />) :  ( 
                  <div>loading...</div>
               )
}
Run Code Online (Sandbox Code Playgroud)

ner*_*ino 3

您需要使用 React.lazy 或 React-loadable 之类的东西,以下是 React 文档中的示例:

const OtherComponent = React.lazy(() => import('./OtherComponent'));

function MyComponent() {
  return (
    <div>
      <OtherComponent />
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

更多信息在这里:

反应.懒惰:

https://reactjs.org/docs/code-splitting.html

可反应加载:

https://github.com/jamiebuilds/react-loadable