나는 여기 react-native
에 대해 이야기하지 않습니다.React.js webview와 원시 코드 간을 통신 하시겠습니까?
네이티브 및 자바 스크립트가 포함 된 하이브리드 앱입니다.
우리가 사용하고있는 Javascript 라이브러리는 React.js입니다.
우리는 백본을 비슷한 설정으로 사용했으며 native와 js world간에 메시지 전달에 문제가 없었습니다.
js와 대화하기 위해 페이지에서 전역 변수 (Backbone View 인스턴스)를 노출했습니다.
그래서 우리는 window.login_view.do_login()
과 같은 것을 할 수 있습니다.
login_view
인스턴스가 있었기 때문에 가능했습니다.
react.js를 사용하면 다음과 같은 코드가 생겼기 때문에 어떻게 그런 인스턴스를 만들 수 있을지 모르겠지만 참조 할 수있는 코드는 instance
입니다.
ReactDOM.render(
<Provider store={store}>
<Router>
<Article/>
</Router>
</Provider>,
document.getElementById('mainApp')
)
네이티브 측에서 하이브리드 앱에서 react.js와 대화하는 방법은 무엇입니까? 기사 클래스에
...
<Article ref={(article) => { this._article = article; }} />
...
:
당신합니다. 자바 스크립트에서 전역 적으로 사용할 수있는 객체 또는 함수를 사용하고 있다면 반드시 React 구성 요소에 액세스 할 수 있어야합니다. 'window.login_view.do_login()'은 전역 적으로 액세스 가능한 함수처럼 보입니다. – TKoL
공급자는 JS 클래스이므로 "refref"를 사용하여 창 개체에 전역 변수로 저장하는 클래스 속성을 정의 할 수 있습니다 (componentdidMount에서이 작업을 수행 할 수 있습니다.) –