2017-10-17 2 views
0

react-native-drawer-menu을 사용하여 슬라이더 메뉴를 만듭니다. 단추를 클릭 할 때 메뉴를 수동으로 열 수 없습니다. 문서에서 그들은 이것이 인스턴스를 불러 오기 위해 ref를 사용하여 메소드 openDrawer을 수행 할 수 있다고 말했습니다. ref를 사용하여 인스턴스 메서드 호출

내 코드

import Drawer from 'react-native-drawer-menu' 

    myFunction(){ 
    Drawer.openDrawer(); 
    } 

내가 reactNativeDrawerMenu2.default.openDrawer이 기능하지 않습니다이 오류를

를 얻을. 16 : 24.299 [치명적인] TID : com.facebook.react.ExceptionsManagerQueue] 2017년 10월 17일 13 ( '_reactNativeDrawerMenu2.default.openDrawer()에서 '_reactNativeDrawerMenu2.default.openDrawer '은 정의되지 않는다) 처리되지 않은 JS 예외 : _reactNativeDrawerMenu2.default.openDrawer는 함수가 아니고 입니다. 당신은 서랍에 심판 ("참조")을 저장할 필요가

+0

[Refs and the DOM] (https://reactjs.org/docs/refs-and-the-dom.html)을 사용하기위한 관련 문서. – bennygenel

답변

2

(에서 '_reactNativeDrawerMenu2.default.openDrawer()', '_reactNativeDrawerMenu2.default.openDrawer'정의되지 않는다).

<Drawer ref={(node) => {this.drawer = node;}} /> 

을 한 다음과 같은 자신의 API를 사용할 수 있습니다

그래서이된다 :이 모듈의 API이다 제외 @lipp 말했듯이

import Drawer from 'react-native-drawer-menu' 

class Foo extends React.Component { 
    render() { 
    return (
     <Drawer ref={drawer => this.drawer = drawer}> 
     <View> 
      <Button onPress={() => this.drawer.open()} 
     </View> 
     </Drawer> 
    } 
} 
+0

@daniel! 이것을 고쳤다. – lipp

0

해야한다고 생각 :

this.drawer.open()

관련 문제