Javascript ReactJS语句名
我正在使用ReactJS制作一个项目,我正在使用一个语句,但我不知道它的名称 这里是我的一些代码,所以它可能是有意义的Javascript ReactJS语句名,javascript,reactjs,Javascript,Reactjs,我正在使用ReactJS制作一个项目,我正在使用一个语句,但我不知道它的名称 这里是我的一些代码,所以它可能是有意义的 function Login(props) { return ( <form> <input type="text" placeholder="username"
function Login(props) {
return (
<form>
<input
type="text"
placeholder="username"
onChange={e=>props.app.setState({"username":e.currentTarget.value})}
value={props.app.state.username}
/>
<input
type="password"
placeholder="password"
onChange={e=>props.app.setState({"password":e.currentTarget.value})}
value={props.app.state.password}
/>
<button type="button" onClick={_=>props.app.loadTasks()}>Login</button>
{props.app.state.logged_in == -1 && <p className="error">Incorrect username or password</p>}
{props.app.state.logged_in >= -1 && <title>Task Keeper</title>}
</form>
);
}
功能登录(道具){
返回(
props.app.setState({“username”:e.currentTarget.value})
value={props.app.state.username}
/>
props.app.setState({“password”:e.currentTarget.value})
值={props.app.state.password}
/>
props.app.loadTasks()}>登录
{props.app.state.logged_in==-1&&用户名或密码不正确
}
{props.app.state.logged_in>=-1&&Task Keeper}
);
}
我需要的确切名称是这一行:
{props.app.state.logged_in == -1 && <p className="error">Incorrect username or password</p>}
{props.app.state.logged_in >= -1 && <title>Task Keeper</title>}
{props.app.state.logged_in==-1&&用户名或密码不正确
}
{props.app.state.logged_in>=-1&&Task Keeper}
就像我在使用它们,我甚至不知道它们叫什么。如果可能的话,解释一下它是如何工作的?我只是假设它像if语句一样工作。首先,解释一下它是如何工作的,因为当您开始时,它可能会非常混乱。当您这样做时:
{props.app.state.logged_in >= -1 && <title>Task Keeper</title>}
渲染,如果未渲染,则不渲染任何内容。这类似于告诉React:
if (props.app.state.logged_in >= -1)
<title>Task Keeper</title>
if(props.app.state.logged\u in>=-1)
任务管理员
现在,关于这个概念的一般名称,我认为它只是条件渲染。这是因为javascript中有一个怪癖:
&&
如果左侧为false,则计算为左侧,否则计算为右侧。这意味着true&&expression
等于expression
,false&&expression
等于false
。通常,&&
表达式的值是上次计算的子表达式的值。这种做法被称为短路评估。您所寻找的被称为短路评估,并在MDN web文档中得到了很好的分析。这篇文章是否回答了您的问题?在JSX中,这称为。
<title>Task Keeper</title>
if (props.app.state.logged_in >= -1)
<title>Task Keeper</title>