React route 的组件怎么优雅的传递props?

#1
const LoginFormCmp = <LoginForm setIsLogin={this.setIsLogin.bind(this)} />;

<Route path="/login" component={LoginFormCmp}/>

这种写法报错,怎么优雅的传递props呢?

#2

component 是一个组件的引用 不是组件本身。也就是只是一个组件的地址。

#3

可以用 createElement 这个方法


const setIsLogin = this.setIsLogin.bind(this);

function createElement(Component, props) {
  return <Component 
    {
      ...props,
      setIsLogin
    } 
  />
}

<Router createElement={ createElement }>
  <Route path="/login" component={ LoginForm }/>
</Router>