Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将道具传递给材质ui样式的组件?_Javascript_Node.js_Reactjs_Material Ui - Fatal编程技术网

Javascript 如何将道具传递给材质ui样式的组件?

Javascript 如何将道具传递给材质ui样式的组件?,javascript,node.js,reactjs,material-ui,Javascript,Node.js,Reactjs,Material Ui,我有一个组件,我想通过道具了,但是这个组件也有内部道具来处理造型,我不知道如何处理这两个 这就是我现在拥有的 constyles=theme=>({ //主题建筑 }); const LoginLink=React.forwardRef((props,ref)=>( )); 常量HomeLink=React.forwardRef((道具,ref)=>( )); 常量导航栏=(道具)=>{ 常量{classes}=props; //一些功能 返回( //一些代码 {props.isAuthenti

我有一个组件,我想通过道具了,但是这个组件也有内部道具来处理造型,我不知道如何处理这两个

这就是我现在拥有的

constyles=theme=>({
//主题建筑
});
const LoginLink=React.forwardRef((props,ref)=>(
));
常量HomeLink=React.forwardRef((道具,ref)=>(
));
常量导航栏=(道具)=>{
常量{classes}=props;
//一些功能
返回(
//一些代码
{props.isAuthenticated
?注销
:登入
}
);
}
NavBar.propTypes={
类:PropTypes.object.isRequired,
};
导出默认样式(样式)(导航栏);
这就是我使用它的地方:

类应用程序扩展组件{
建造师(道具){
超级(道具);
此.state={
I认证:错误,
I验证:正确
};
}
//功能
render(){
常量childProps={
isAuthenticated:this.state.isAuthenticated,
userHasAuthenticated:this.userHasAuthenticated
};
返回(
!this.state.isAuthentication&&
);
}
}
导出默认应用程序;
现在这是把道具当作“未定义的”。老实说,我不知道从哪里开始添加第二个道具,因为我对node.js和web开发总体来说还是相当陌生。

而不是:

<NavBar props={childProps} />

您可以选择传播道具:

/*
 * Assuming eg: const childProps = {isAuthenticated: true};
 */
<NavBar {...childProps} />
/*
*假设eg:const childProps={isAuthenticated:true};
*/
或者,您可以直接这样分配它们:

/*
 * Assuming eg: const isAuthenticated = true;
 */
<NavBar isAuthenticated={isAuthenticated} />
/*
*假设例如:const isAuthenticated=true;
*/

真不敢相信这有多简单。。传播道具奏效了,谢谢。