component.">

ReactNative踩坑,RawText "" must be wrapped in an explicit component.

今天突然发现以前做好的一个页面发生崩溃,错误如下:


查了代码,发现好久都没有动这块的代码了,所以非常疑惑。最后通过2分法不停地查哪里出了问题,最终查到了这个语句:

return (
    
        {rowData.adminReply &&
        {rowData.adminReply}
        }
    
)

这段代码的意思是 如果adminReply有值,则展示adminReply。但是这条语句为什么会报错呢?查了半天,发现是因为adminReply的值是空字符串"",然后系统就报错了,类似这样:

let rowData = {adminReply: ""};
return (
    
        {rowData.adminReply &&
        {rowData.adminReply}
        }
    
)

解决办法如下,使用!!来判断adminReply是否有值,因为这里其实你是希望将adminReply当成bool来使用的。

let rowData = {adminReply: ""};
return (
    
        {!!rowData.adminReply &&
        {rowData.adminReply}
        }
    
)

所以以后字符串的判断,都用!!去判断,否则出现字符串恰好为""的时候,就会崩溃。

你可能感兴趣的:(ReactNative踩坑,RawText "" must be wrapped in an explicit component.)