Typescript TS2532-对象可能未定义
如何停用此选项或解决此问题?直到现在它才给了我这个错误。谢谢大家!Typescript TS2532-对象可能未定义,typescript,Typescript,如何停用此选项或解决此问题?直到现在它才给了我这个错误。谢谢大家! 错误:Typescript TS2532-对象可能未定义。我们不知道您的具体类型,但可能未定义错误或endereco。您可以通过以下方式处理此问题: <Form.Field> <label>Rua</label> <input name='endereco.rua' value={user.endereco.rua} onChange={(e)=>
错误:Typescript TS2532-对象可能未定义。我们不知道您的具体类型,但可能未定义错误或endereco。您可以通过以下方式处理此问题:
<Form.Field>
<label>Rua</label>
<input name='endereco.rua' value={user.endereco.rua} onChange={(e)=>handleInputChange(e)} placeholder='Insira sua Rua' />
{errors.endereco.rua !== '' && <ErrorMessage>{errors.endereco.rua}</ErrorMessage>}
</Form.Field>
<Form.Field>
<label>Numero</label>
<input name='endereco.numero' type='number' onChange={(e)=>handleInputChange(e)} placeholder='Insira seu numero' />
{errors.endereco.numero !== undefined && <ErrorMessage>{errors.endereco.numero}</ErrorMessage>}
</Form.Field>
export interface Errors{
name?: string;
password?: string;
email?: string;
cpf?: string;
endereco?: {
cep?: string;
cidade?: string;
bairro?: string;
rua?: string;
numero?: string;
}
}
基本上,如果该链上的任何值未定义,那么它将短路&&条件,并且不会在那里呈现任何内容。但是,如果所有的值都已定义,那么元素将被呈现。我已将我的接口添加到问题中。@Helcioolivera:这些属性中的任何一个确实可以是未定义的,这就是问题所在?在属性中,名称是指。上面的代码应该成功地检查未定义的值。我能做什么?它根本不需要未定义。我是打字新手。我只是想展示我的才华message@HelcioOliveira:如果属性永远不应未定义,则删除?从财产名称上看,它起作用了。非常感谢你。我感谢你的帮助!
{errors && errors.endereco && <ErrorMessage>{errors.endereco.rua}</ErrorMessage>}
{errors && errors.endereco && errors.endereco.rua && <ErrorMessage>{errors.endereco.rua}</ErrorMessage>}