React Native - Получить значение из компонента - onPress - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь получить значение от компонента, который я нажал, но не смог передать его.

Мой Добро пожаловать класс использует Меню компонент в то время как этот компонент имеет 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 Ответ

2 голосов
/ 06 марта 2020

Переключение компонента меню в функции «Нажать» на функцию стрелки

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>
    );
}
...