2016-11-15 45 views
0
递给

我有以下我最顶端的部分应用中呈现功能:Reactjs送道具的孩子,从路线

render() { 
    const { content } = this.props; 
    return (
     <div id="content"> 
     {content} 
     </div> 
    ) 
    } 

的{内容}变量是从路由传递这样的:

export default (
    <Router history={History}> 
     <Route path={UserConstants.HOME_ROUTE} component={App}> 
      <IndexRoute components={{content:HomePage}}/> 
      <Route path={UserConstants.LOGIN_ROUTE} components=}{content:LoginPage}} /> 
    </Router> 
    ) 

如何从父应用添加道具到{content}?

回答

1

在应用程序,而不是{content}使用

{React.cloneElement(content, { 
    myProp: 'value' 
    })} 

而且myProp将在子组件访问的this.props.myProp

如果使用

{React.cloneElement(this.props.children, { 
    myProp: 'value' 
    })} 
+0

这个作品有点可以使这更动态的不同的子组件协同工作。内容组件加载,但没有生命周期事件触发其父项给予的道具。 ComponentWillUpdate/DidUpdate或Mount对prop没有任何帮助... – Stefan

+0

好吧,它现在可以工作。谢谢。 – Stefan