3
我用在Android交换机在RN 0.21.0:阵营本地交换机上的Android报告错误
<Switch
onValueChange={(value) => this.setState({trueSwitchIsOn: value})}
value={this.state.trueSwitchIsOn} />
它showes错误:
(standard input):43372:03-03 09:32:02.096 E/unknown:React(11609): Exception in native call from JS
(standard input):43373:03-03 09:32:02.096 E/unknown:React(11609): java.lang.NullPointerException
(standard input):43374:03-03 09:32:02.096 E/unknown:React(11609): at android.text.StaticLayout.<init>(StaticLayout.java:58)
(standard input):43375:03-03 09:32:02.096 E/unknown:React(11609): at android.support.v7.widget.SwitchCompat.makeLayout(SwitchCompat.java:606)
(standard input):43376:03-03 09:32:02.096 E/unknown:React(11609): at android.support.v7.widget.SwitchCompat.onMeasure(SwitchCompat.java:526)
(standard input):43377:03-03 09:32:02.096 E/unknown:React(11609): at android.view.View.measure(View.java:16529)
(standard input):43378:03-03 09:32:02.096 E/unknown:React(11609): at com.facebook.react.views.switchview.ReactSwitchManager$ReactSwitchShadowNode.measure(ReactSwitchManager.java:56)
(standard input):43379:03-03 09:32:02.096 E/unknown:React(11609): at com.facebook.csslayout.CSSNode.measure(CSSNode.java:137)
(standard input):43380:03-03 09:32:02.096 E/unknown:React(11609): at com.facebook.csslayout.LayoutEngine.layoutNodeImpl(LayoutEngine.java:294)
(standard input):43381:03-03 09:32:02.096 E/unknown:React(11609): at com.facebook.csslayout.LayoutEngine.layoutNode(LayoutEngine.java:210)
(standard input):43382:03-03 09:32:02.096 E/unknown:React(11609): at com.facebook.csslayout.LayoutEngine.layoutNodeImpl(LayoutEngine.java:492)
(standard input):43383:03-03 09:32:02.096 E/unknown:React(11609): at com.facebook.csslayout.LayoutEngine.layoutNode(LayoutEngine.java:210)
(standard input):43384:03-03 09:32:02.096 E/unknown:React(11609): at com.facebook.csslayout.LayoutEngine.layoutNodeImpl(LayoutEngine.java:492)
所以我想,测量误差和设置一个尺寸:
<Switch
onValueChange={(value) => this.setState({trueSwitchIsOn: value})}
style={{width:100, height:40, backgroundColor:'#a03'}}
value={this.state.trueSwitchIsOn} />
然后错误消失,空白区域showes没有**开关**查看。
我在JS中编写了自己的'Switch'组件。 – herbertD
您是否设法解决交换机问题? –
我已经通过编写自定义组件解决了这个问题。 – herbertD