Reactjs 将道具传递给处理程序组件(在变量中定义)

Reactjs 将道具传递给处理程序组件(在变量中定义),reactjs,react-router,react-router-v4,Reactjs,React Router,React Router V4,与之类似,但在我的示例中,我的组件是在案例elem.component中的一个变量中声明的,我正在尝试构建一个通过showmodel函数的路由数组 这就是我迄今为止所尝试的 routes.push( <Route key={elem.to} exact path={elem.to} component={elem.component} showModal={this.props.showModal}/>) routes.push( ) 我正在查看其他答案的呈现方法,

与之类似,但在我的示例中,我的组件是在案例
elem.component
中的一个变量中声明的,我正在尝试构建一个通过
showmodel
函数的路由数组

这就是我迄今为止所尝试的

routes.push(
  <Route key={elem.to} exact path={elem.to}
     component={elem.component} showModal={this.props.showModal}/>)
routes.push(
)

我正在查看其他答案的呈现方法,但它们在函数中定义了组件,而在我的例子中没有。只需使用函数绑定传递组件即可


()}/>

您必须将组件分配给大写变量才能在JSX中使用它-请检查此React以了解有关在运行时定义元素类型的更多详细信息。请试试这个:

<Route key={elem.to} exact path={elem.to}
     render={() => {
        const MyComponent = elem.component;
        return <MyComponent showModal={someValue} />
     }}

/>
{
常量MyComponent=elem.component;
返回
}}
/>

My component是
elem.component
a变量。