Reactjs 在上下文中传递道具[反应]
我有5代组件结构: A-B-C-D-E 首先,我创建一个上下文:Reactjs 在上下文中传递道具[反应],reactjs,Reactjs,我有5代组件结构: A-B-C-D-E 首先,我创建一个上下文: const ThemeContext = React.createContext(); 在中,将创建一个提供程序 <ThemeContext.Provider value={this.props.name} > <Col><Menu navbarState={this.state.name} /></Col> </Th
const ThemeContext = React.createContext();
在中,将创建一个提供程序
<ThemeContext.Provider value={this.props.name} >
<Col><Menu navbarState={this.state.name} /></Col>
</ThemeContext.Provider>
链接类名称的输出为“[Object,Object]”
如何正确传递道具?字符串化对象,如
“[对象,对象]”
表示对象值是在需要字符串的位置提供的
应该是:
<ThemeContext.Consumer>
{value => <Col><Link className={value} to= "/HomePage">Panel</Link></Col>}
</ThemeContext.Consumer>
正如旁注,React开发团队不建议继承组件。相反,你应该使用构图。嗯,所以如果我在另一个组件中使用组件中的组件,这不是推荐的做法?使用组件的组合是可以的。但在这里,您的组件继承了RoleAwareComponentUser。您应该看看更高阶的组件。然后没有传递提供程序值,或者
props。name
是falsy。如果没有父母,就会发生这种情况。从您发布的代码来看,这并不清楚,即A和e是如何关联的。请提供可以复制您的问题的。
<ThemeContext.Consumer>
{value => <Col><Link className={value} to= "/HomePage">Panel</Link></Col>}
</ThemeContext.Consumer>
<ThemeContext.Provider value={this.props.name}>...