Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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 测试键是否位于React组件中的对象中_Javascript_Reactjs - Fatal编程技术网

Javascript 测试键是否位于React组件中的对象中

Javascript 测试键是否位于React组件中的对象中,javascript,reactjs,Javascript,Reactjs,我有一个React组件,其状态为errors:{}对象。该对象本质上镜像了user:{}对象,该对象从组件中的表单获取数据 错误对象将存储试图保存到数据存储时返回的任何错误消息 例如 如果此人忘记输入字段用户名,则响应将包含一个“errors”对象。实际错误消息将显示在:errors.username.message 要显示的组件如果消息存在,则应显示此错误消息。我通过prop errorText传递潜在的错误消息: <Input value={ user.username } name=

我有一个React组件,其状态为
errors:{}
对象。该对象本质上镜像了
user:{}
对象,该对象从组件中的表单获取数据

错误对象将存储试图保存到数据存储时返回的任何错误消息

例如
如果此人忘记输入字段
用户名
,则响应将包含一个“errors”对象。实际错误消息将显示在:
errors.username.message

要显示的组件如果消息存在,则应显示此错误消息。我通过prop errorText传递潜在的错误消息:

<Input value={ user.username } name="username" errorText={ errors.username } 
    placeholder="username"
    displayName="Database Username" type="text" onChange={ updateFormField } />

有什么建议吗?

我可以与
未定义的

{ props.errorText !== undefined ? props.errorText.message !== undefined ? (
    <label className="label label-danger">{ props.errorText.message }</label>
) : ( "" ) : ("")}
{props.errorText!==未定义?props.errorText.message!==未定义(
{props.errorText.message}
) : ( "" ) : ("")}

您正在将
errorText={errors.username}
prop传递给您
Input
组件。即使出现
错误,也会设置此属性。用户名
解析为
未定义
。这意味着
输入
组件中的道具看起来像
{errorText:undefined}

现在,props
中的“errorText”解析为
true
,因为实际上有这样一个键,但是props.errorText
中的“message”会抛出一个错误,因为
props.errorText
未定义的

您可以将其更改为smth,如:

props.errorText !== undefined 
  && props.errorText.message !== undefined 
  && <label className="label label-danger">{props.errorText.message}</label>
props.errorText!==未定义
&&props.errorText.message!==未定义
&&{props.errorText.message}

就是这样。
props.errorText !== undefined 
  && props.errorText.message !== undefined 
  && <label className="label label-danger">{props.errorText.message}</label>