警告:失败的道具类型:无效的道具“错误”类型为“字符串”,预期为“布尔值”

Bah*_*maz 3 javascript ecmascript-6 reactjs

我的 ReactJS 项目中有一个 material-ui Textfield 组件。

当我运行我的代码时,我在控制台中得到的警告是:

index.js:1 Warning: Failed prop type: Invalid prop `error` of type `string` supplied to `ForwardRef(TextField)`, expected `boolean`.
Run Code Online (Sandbox Code Playgroud)

我的组件代码如下。

 <TextField
   required
   error={errorMessages.myErrorMessage}
   helperText={errorMessages.myErrorMessage}
   value={myTextField}
  />
Run Code Online (Sandbox Code Playgroud)

这段代码工作得很好,但问题是它在控制台中给出了一条警告消息。

我希望仅当“errorMessages.myErrorMessage”值不是空字符串时才显示错误消息。

是否有任何 ES6 或任何其他解决方案?

Tur*_*ght 6

error属性TextField需要一个布尔值,但您传递的是一个字符串。

如果要显示错误 iferrorMessages.myErrorMessage不是空字符串,可以检查字符串的长度,例如:

<TextField
   required
   error={errorMessages.myErrorMessage.length > 0}
   helperText={errorMessages.myErrorMessage}
   value={myTextField}
/>
Run Code Online (Sandbox Code Playgroud)

或者,您也可以使用!!errorMessages.myErrorMessage代替errorMessages.myErrorMessage.length > 0
这利用了空字符串为而所有其他字符串为真的事实