Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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 有人能解释一下redux表单验证中的逻辑吗?_Javascript_Reactjs_Redux_Syntax_Redux Form - Fatal编程技术网

Javascript 有人能解释一下redux表单验证中的逻辑吗?

Javascript 有人能解释一下redux表单验证中的逻辑吗?,javascript,reactjs,redux,syntax,redux-form,Javascript,Reactjs,Redux,Syntax,Redux Form,我已经知道这是什么结果,但我不明白什么类型的逻辑,这是if还是类似的 {touched && ((error && <span>{error}</span>) || (warning && <span>{warning}</span>))} {moved}&& ((错误&&{error})|| (警告&&{warning}) 从 {label} {感动&& ((错误&&{e

我已经知道这是什么结果,但我不明白什么类型的逻辑,这是if还是类似的

 {touched &&
    ((error && <span>{error}</span>) ||
      (warning && <span>{warning}</span>))}
{moved}&&
((错误&&{error})||
(警告&&{warning})


{label}
{感动&&
((错误&&{error})||
(警告&&{warning})

说明“当且仅当定义了错误/警告时,显示错误和/或警告范围”。其思想是,如果警告/错误为空/未定义,则不会创建范围。

说明“当且仅当定义了错误/警告时,显示错误和/或警告范围”。如果警告/错误为空/未定义,则不创建范围。

首先,如果
toucted
为false,则忽略表达式的其余部分,不呈现任何内容

如果
error
的计算结果为
true
,则
error&&{error}
是真实的(因为React元素也是真实的),并且呈现
{error}
。在这种情况下,不会对第二个
警告和
进行评估

如果
错误
为假,则计算
警告&{warning}
,如果
警告
为真,则渲染
{warning}

医生是怎么说的:

true&&expression的计算结果始终为expression,false&& 表达式的计算结果始终为false

因此,如果条件为true,则&&后面的元素将 显示在输出中。如果为false,React将忽略并跳过它

您可以在jsx表达式之外实现相同的功能:

let element;
if (touched) {
 if (error) element = <span>{error}</span>;
 else if (warning) element = <span>{warning}</span>;
}

return (
  <div>
    <input {...input} placeholder={label} type={type} />
    {element}
  </div>
)
let元素;
如果(触摸){
if(error)元素={error};
else if(warning)元素={warning};
}
返回(
{element}
)

首先,如果
toucted
为false,则表达式的其余部分将被忽略,并且不显示任何内容

如果
error
的计算结果为
true
,则
error&&{error}
是真实的(因为React元素也是真实的),并且呈现
{error}
。在这种情况下,不会对第二个
警告和
进行评估

如果
错误
为假,则计算
警告&{warning}
,如果
警告
为真,则渲染
{warning}

医生是怎么说的:

true&&expression的计算结果始终为expression,false&& 表达式的计算结果始终为false

因此,如果条件为true,则&&后面的元素将 显示在输出中。如果为false,React将忽略并跳过它

您可以在jsx表达式之外实现相同的功能:

let element;
if (touched) {
 if (error) element = <span>{error}</span>;
 else if (warning) element = <span>{warning}</span>;
}

return (
  <div>
    <input {...input} placeholder={label} type={type} />
    {element}
  </div>
)
let元素;
如果(触摸){
if(error)元素={error};
else if(warning)元素={warning};
}
返回(
{element}
)
它类似于:

if (touched) {
  if (error) {
    // error
  } else if (warning) {
    // warning
  }
}
当触摸字段时,它会显示错误/警告(如果有)。

类似于:

if (touched) {
  if (error) {
    // error
  } else if (warning) {
    // warning
  }
}

当触摸字段时,它会显示错误/警告(如果有)。

它们是中使用的
[逻辑和表达式]
语法。 要使您更容易理解,请执行以下操作:

if (touched) {
  if (error) {
   display(error)
  } else if (warning) {
   display(warning)
  }
}

它们是中使用的
[逻辑和表达式]
语法。 要使您更容易理解,请执行以下操作:

if (touched) {
  if (error) {
   display(error)
  } else if (warning) {
   display(warning)
  }
}

在javascript中,
&&
运算符在第一个假值时停止并返回该值。但是
|
一直在寻找,直到找到真实的值

e、 g

因此,在这种情况下,仅当触摸到字段时,才会显示错误或警告,因此仅当触摸到字段时,才会向前移动


当触摸
时,
将为
然后它将查找
错误
,如果是
|
操作符将返回下一个警告值。

在javascript中,
和&
操作符在第一个假值时停止并返回该值。但是
|
一直在寻找,直到找到真实的值

e、 g

因此,在这种情况下,仅当触摸到字段时,才会显示错误或警告,因此仅当触摸到字段时,才会向前移动

当触摸
时,
将为
,然后它将查找
错误
,如果是
|
操作员将返回下一个警告值