不变冲突:文本字符串必须在<文本>组成部分

我已经从RN 0.54升级到了0.57,由于使用React原生元素,我的应用程序几乎崩溃了

我在TextInput组件上使用了它们的错误功能,这些组件基本上启用了一些道具,您可以设置错误消息的样式和设置错误消息。非常方便,但是升级破坏了这些,我现在遇到了以下错误:

因此,我删除了该代码,错误消失,但在运行该代码时,我仍然收到问题:

{this.state.event.cards[i]。字段[j]。错误&&
<Text style={{color:'#e74c3c',fontSize:14,paddingLeft:5}}>
{this.state.event.cards[i]。字段[j]。错误}
</Text>
}

当我开始键入文本输入时,它会将我的错误消息设置为空字符串,因此如果返回错误,在字段中键入将使错误消失

只要this.state.event.cards[i].fields[j].error变成字符串,我就会收到返回的此错误。但是您可以看到,我检查错误是否存在,然后我只显示错误,或者至少尝试显示错误

另一双眼睛会感激你的

我在这件事上射自己的脚太多次了,所以我把这个留在这里,让下一个人不要…

每当你看到

不变冲突:文本字符串必须在<文本>组成部分

99%的情况将由仅使用&amp&而不是三元声明。为什么?因为当您的条件解析为未定义时,那里没有组件,而不是空数组或空数组,它会安全地显示一个空的空间并从地狱的红屏中拯救您的生命

将所有逻辑条件渲染更改为三元格式副本

即:

不要做

widgetNumber===10&amp&amp&书信电报;MyComponent/>

DO-DO

widgetNumber==10&书信电报;MyComponent/>:无效的

每一次。请为了对我的爱

发表评论