Javascript 在渲染中使用常量存储状态值的意义
我有一个关于我在react文档中多次看到的内容的问题 他们在呈现方法中使用常量,该方法存储来自状态的值,然后使用常量进行进一步的逻辑 Eg->Javascript 在渲染中使用常量存储状态值的意义,javascript,reactjs,Javascript,Reactjs,我有一个关于我在react文档中多次看到的内容的问题 他们在呈现方法中使用常量,该方法存储来自状态的值,然后使用常量进行进一步的逻辑 Eg-> render(){ // showLogin is boolean const showLogin = this.state.showLogin showLogin ? return(something) : return(something else) } 所以我的问题是为什么不直接使用this.state.showLogin
render(){
// showLogin is boolean
const showLogin = this.state.showLogin
showLogin ? return(something) : return(something else)
}
所以我的问题是为什么不直接使用this.state.showLogin以及为什么创建一个单独的const
使用这种方式有什么好处吗?或者说,这样做是没有理由的
例如文档->在本例中,它纯粹是为了更干净、更可读的代码。 如果他们会使用:
this.state.showLogin ? return(something) : return(something else)
这台机器不会有什么不同,但是想象一下一个真正的代码库,它包含许多代码行和许多状态值(showLogin、toggleBar、hideNotification等)。
代码很快就会变得一团糟。因此,出于对下一位开发人员(以及您未来的自我)的关心,最好是尽可能干净地编写代码
关于CONST->如果将来不会重新分配变量,您应该始终使用CONST而不是let。在本例中,这纯粹是为了更干净、更可读的代码。 如果他们会使用:
this.state.showLogin ? return(something) : return(something else)
这台机器不会有什么不同,但是想象一下一个真正的代码库,它包含许多代码行和许多状态值(showLogin、toggleBar、hideNotification等)。
代码很快就会变得一团糟。因此,出于对下一位开发人员(以及您未来的自我)的关心,最好是尽可能干净地编写代码
关于CONST->如果将来不会重新分配变量,您应该始终使用CONST而不是let。您的代码
render(){
// showLogin is boolean
const showLogin = this.state.showLogin
showLogin ? return(something) : return(something else)
}
做的事情和
render(){
// this.state.showLogin is boolean
this.state.showLogin ? return(something) : return(something else)
}
区别不在于代码的逻辑,而在于可读性。您的代码
render(){
// showLogin is boolean
const showLogin = this.state.showLogin
showLogin ? return(something) : return(something else)
}
做的事情和
render(){
// this.state.showLogin is boolean
this.state.showLogin ? return(something) : return(something else)
}
区别不在于代码的逻辑,而在于可读性。这是因为可读性。在某些情况下,您还会发现对象正在分解。 像
const{showLogin,otherProperty}=this.state代码>
它只是提高了代码的可读性。这是因为可读性。在某些情况下,您还会发现对象正在分解。
像const{showLogin,otherProperty}=this.state代码>
它只是提高了代码的可读性。可能是粗心的键入。但是你的问题有一些问题。与传统的if-else相比,三值运算符有一个优势,它可以默认返回值
const color = true ? 'orange' : 'green';
说到你的问题
render(){
const { showLogin } = this.state;
return (
<div>
{showLogin ? <Component1 /> : <Component2 />}
</div>
)
}
可能是打字粗心。但是你的问题有一些问题。与传统的if-else相比,三值运算符有一个优势,它可以默认返回值
const color = true ? 'orange' : 'green';
说到你的问题
render(){
const { showLogin } = this.state;
return (
<div>
{showLogin ? <Component1 /> : <Component2 />}
</div>
)
}
它的可读性要高得多,尤其是当状态对象可能包含嵌套对象时,这将使读取和理解代码变得更加困难。它的可读性要高得多,尤其是当状态对象可能包含嵌套对象时,这将使读取和理解代码变得更加困难