我的ReactJS项目中有一个Material-ui Textfield组件。
运行代码时,我在控制台中收到的警告是:
index.js:1 Warning: Failed prop type: Invalid prop `error` of type `string` supplied to `ForwardRef(TextField)`, expected `boolean`.
我的组件代码如下。
<TextField
required
error={errorMessages.myErrorMessage}
helperText={errorMessages.myErrorMessage}
value={myTextField}
/>
此代码可以正常工作,但问题在于它在控制台中给出了警告消息。
我希望仅在“ errorMessages.myErrorMessage”值不是空字符串时显示错误消息。
对此是否有ES6或其他解决方案?
答案 0 :(得分:1)
我认为您需要这样做
local luartmidi = require 'luartmidi'
通过这种方式,如果errorMessages.myErrorMessage为空字符串,则传递false。而且react组件期望错误类型为布尔值,即true或false。
答案 1 :(得分:1)
error
的{{1}}属性需要一个布尔值,但是您正在向其传递一个字符串。
如果TextField
不是空字符串,如果您想显示错误,则可以检查字符串的长度,例如:
errorMessages.myErrorMessage
或者,您也可以使用<TextField
required
error={errorMessages.myErrorMessage.length > 0}
helperText={errorMessages.myErrorMessage}
value={myTextField}
/>
代替!!errorMessages.myErrorMessage
。
这利用了以下事实:一个空字符串为falsy,所有其他字符串为truthy
答案 2 :(得分:0)
实际上,每次执行时您的错误= {!! errorMessages.myErrorMessage}无关紧要,是否有错误,因此请使用条件,例如“ errorMessages?errorMessages.myErrorMessage:void 0”,并避免传递布尔值(如true或false) ......快乐的编码