Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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 ReactJS语句名_Javascript_Reactjs - Fatal编程技术网

Javascript ReactJS语句名

Javascript ReactJS语句名,javascript,reactjs,Javascript,Reactjs,我正在使用ReactJS制作一个项目,我正在使用一个语句,但我不知道它的名称 这里是我的一些代码,所以它可能是有意义的 function Login(props) { return ( <form> <input type="text" placeholder="username"

我正在使用ReactJS制作一个项目,我正在使用一个语句,但我不知道它的名称

这里是我的一些代码,所以它可能是有意义的

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>