2015-11-20 4 views
1

Я создаю приложение с двумя кнопками в Навигаторе на главной странице. Я также использовал React Native Side Menu. (https://github.com/react-native-fellowship/react-native-side-menu)Запуск действия другой страницы с помощью кнопок NavigatorIOS

С левой кнопкой мыши NavigatorIOS я хочу вызвать метод toggle() бокового меню. Как я могу это сделать?

<NavigatorIOS 
    style={styles.navigationContainer} 
    ref="nav" 
    initialRoute={{ 
    title: "Home", 
    component: Home, 
    ref:'home', 
    rightButtonTitle: 'Items', 
    leftButtonTitle: 'Menu', 
    onLeftButtonPress:() => { 
     //menuActions.toggle(); HERE IS THE PROBLEM 
    }, 
    onRightButtonPress:() => { 
    this.refs.nav.navigator.push({ 
     title: "Items", 
     component: Items 
    }); 
    } 
}} /> 

Код и элементы для Sidemenu в Домашнем файле. Как получить доступ к этому из этого кода, который находится в index.ios.js?

Заранее спасибо.

ответ

1

Боюсь, этого недостаточно, чтобы сделать вывод. Прежде всего, мне нужно увидеть, как вы составляете свои компоненты. menuActions доступны только для компонентов для детей через контекст. Основываясь на этом фрагменте кода, я не вижу, как вы это делаете.

Мои предложения: - проверить, если вы NavigatorIOS компонента являются детьми вашего SideMenu компонента - Если вы не хотите использовать NavigatorIOS в качестве детей в SideMenu, вам могут понадобиться что-то вроде глобального магазина (вы можете например, использование redux), который будет отражать состояние SideMenu. Подписываясь на этот магазин в нужном месте (у любых детей SideMenu), вы сможете вызвать menuActions с того места, где он будет доступен.

+0

Благодарим за ответ, я буду обновлять, как только я получу исправление. :) –