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