react native中的一些报错及解决
1、react native中的Invariant Violation: React.Children.only expected to receive a single React element child报错
这个是因为使用了 TouchableWithoutFeedback,这个组件必须至少只能有一个child,如果是多个组件,必须以View来包起来。
<TouchableWithoutFeedback onPress={() => {}}>
<View>........</View>
<Image ........... />
</TouchableWithoutFeedback>
改成
<TouchableWithoutFeedback onPress={() => {}}>
<View>
<View>........</View>
<Image ........... />
<View/>
</TouchableWithoutFeedback>
就可以了
2、Cannot add a child that doesn't have a YogaNode to a parent without a measure function! (Trying to add a 'RCTRawTextShadowNode'to a 'LayoutShadowNode' )
代码中出现了 />/> 导致报错
<View>
<Text>不是故意的</Text> />
</View>
删掉一个/>就可以了
还有一种情况 react native设置背景的时候 一般会用<View style={{ backgroundColor: '#f0f', width: 10, height: 10 }} />;
如果这样写<View style={{ backgroundColor: '#f0f', width: 10, height: 10 }}> </View>或者
<View style={{ backgroundColor: '#f0f', width: 10, height: 10 }}>{‘’}</View>
都会报上面的错误。