在本机中的组件之间传递数据

时间:2016-08-16 21:28:26

标签: javascript reactjs react-native

我有一个类组件,其中包含一个反应原生的'Switch'。它目前看起来像这样:

colorswitch.js:

`export default class ColorTextSwitch extends React.Component{
    constructor(...args) {
        super(...args);
        /**
         * default state
         */
            this.state = {
        
                switch: {
        
                    colorTrueSwitchIsOn: true,
        
                    colorFalseSwitchIsOn: false,
        
                    colorBgTint: {
        
                        onColor: "#29E877",
        
                        offColor: "#00FFFF",
        
                        thumbBtnColor: "#FFFFFF"
        
                    },
        
                },
            }
        }
        updateSeason(value){
            let falseSwitch = this.state.switch;
            falseSwitch.colorFalseSwitchIsOn = value;
            this.setState({ falseSwitch });
            this.props.onChange = value;
        }
        render() {
            return(
                <View style={styles.rowView} underlayColor="#e4e4e4">
                    <View style={styles.itemContentView}>
                        <Image style={styles.switchIcon} source={this.state.switch.colorFalseSwitchIsOn ? require('../assets/icon_add.png') : require('../assets/icon_minus.png')} />
                        <Text style={styles.switchText}>{this.state.switch.colorFalseSwitchIsOn ? 'SIDE1' : 'SIDE2'}</Text>
                    </View>
                    <Switch
                        onValueChange={(value) => this.updateSeason(value)}
                        onTintColor={this.state.switch.colorBgTint.offColor}
                        tintColor={this.state.switch.colorBgTint.onColor}
                        style={styles.switch}
                        thumbTintColor={this.state.switch.thumbBtnColor}
                        value={this.state.switch.colorFalseSwitchIsOn} />
                </View>
            );
        }
    }

`

menu.js:

render(){
     <ColorTextSwitch onChange={ (...args) => this.updateValue(...args) } />

...


updateValue(item){
    this.setState({itemValue: item.value});
  }

所以我无法解决的问题是数据如何从ColorTextSwitch移动到菜单,我可以在菜单上使用真正的假值。什么是传递这些数据的最佳方式?

0 个答案:

没有答案