(我不确定这是否是重复的主题,但找不到关于我自己的问题的讨论)
我读到有关setNativeProps
here的内容,这使我感到很有前途。但是我承认我不确定该API是否可以在特定组件(即TextInput)中使用,还是可以将其用于任何自定义组件来更新任何道具。
以下是我的环境: 反应本机:0.57.1, 反应:16.7.0
我通过这个简单的测试尝试更新自定义组件的label
道具-但这没用。
class MyButton extends React.Component {
setNativeProps = (nativeProps) => {
this._root.setNativeProps(nativeProps);
}
render() {
return (
<View ref={component => this._root = component} {...this.props}
style={{alignContent:'center', justifyContent:'center'}}>
<Text style={{fontSize:50}}>{this.props.label}</Text>
</View>
)
}
}
export default class App extends React.Component {
onButtonPress = () =>
{
this._button.setNativeProps({
label: 'Changed Text!'
});
}
render() {
return (
<TouchableOpacity onPress={this.onButtonPress}>
<MyButton ref={component => this._button = component} label="Press me!" style={{flex:1}} />
</TouchableOpacity>
)
}
}
我们可以假设以上述方式执行此操作,还是我做错了(?)