React Native-从组件获取价值-onPress

时间:2020-03-05 21:52:41

标签: react-native touchableopacity

我试图从按下的组件中获取一个值,但我无法通过它。

我的 Welcome 类正在使用 Menu 组件,而该组件具有4个 MenuItem 组件。

这是我的问题在哪里?我无法将itemOnPress值输入“欢迎”屏幕。

欢迎:

class Welcome extends React.Component {

menuItemOnPress = (item) => {
    console.log('ITEM', item);
};

render() {

    return (
        <Modal animationType={'fade'}
               transparent={true}
               visible={this.state.modalVisible}>
            <View style={styles.modal}>
                <Menu itemOnPress={(item) => this.menuItemOnPress(item)}/>
            </View>
        </Modal>
    );
}

菜单:

class Menu extends React.Component {

render() {
    const {closeOnPress, itemOnPress} = this.props;

    return (
        <SafeAreaView style={styles.container}>
            <MenuItem titleText={'XYZ'} onPress={itemOnPress(0)}/>
            <MenuItem titleText={'XYZ'} onPress={itemOnPress(1)}/>
        </SafeAreaView>
    );
}

1 个答案:

答案 0 :(得分:2)

将菜单组件的onPress功能切换为箭头功能

class Menu extends React.Component {

render() {
    const {closeOnPress, itemOnPress} = this.props;

    return (
        <SafeAreaView style={styles.container}>
            <MenuItem titleText={'XYZ'} onPress={() => itemOnPress(0)}/>
            <MenuItem titleText={'XYZ'} onPress={() => itemOnPress(1)}/>
        </SafeAreaView>
    );
}