与另一个组件进行本机双向绑定

时间:2016-04-13 11:04:22

标签: react-native

我刚学习本地反应三周,我很难根据父母的状态更新自定义控制器值。

这是小提琴:js fiddle to react native

在代码中,当我从自定义控件输入中键入时,父输入已更新。但是当我从父输入中键入时,自定义控件输入不会更新。

你能指出我的错误吗?

这是我的代码:

@IBOutlet weak var labelcity: UILabel!

谢谢:)

1 个答案:

答案 0 :(得分:1)

您正在子组件中存储您不应该存在的状态,父组件会传递一个处理器onChangeTextValue,您应该使用它。

尝试替代您的子组件

var CustomControl = React.createClass({
    propTypes: {
        onChangeTextValue: React.PropTypes.func,
        value: React.PropTypes.string.isRequired
    },

    render: function(){
        return (
            <TextInput
                style={{ height: 40, borderColor: 'gray',
                         borderWidth: 1 }}
                onChangeText={this.props.onChangeTextValue}
                value={this.props.value}
                />
            )
        }
});