[REACTJS] React.js 어떻게 자식 구성 요소에 대한 콜백을 전달하는 방법?
REACTJSReact.js 어떻게 자식 구성 요소에 대한 콜백을 전달하는 방법?
해결법
-
1.당신은 FirstNestedComponent에 속성으로 this.onUserInput 전달된다. 따라서 this.props.onUserInput로 FirstNestedComponent에 액세스해야합니다.
당신은 FirstNestedComponent에 속성으로 this.onUserInput 전달된다. 따라서 this.props.onUserInput로 FirstNestedComponent에 액세스해야합니다.
var FirstNestedComponent = React.createClass({ render: function() { return ( <div> <SecondNestedComponent onUserInput={this.props.onUserInput} /> </div> ); } });
-
2.참고로, 내가 jsfiddle.net/kb3gN/12007에서 만든 구현을 확인하시기 바랍니다
참고로, 내가 jsfiddle.net/kb3gN/12007에서 만든 구현을 확인하시기 바랍니다
function ListenersService(){ var listeners = {}; this.addListener = function(callback){ var id; if(typeof callback === 'function'){ id = Math.random().toString(36).slice(2); listeners[id] = callback; } return id; } this.removeListener = function( id){ if(listeners[id]){ delete listeners[id]; return true; } return false; } this.notifyListeners = function(data){ for (var id in listeners) { if(listeners.hasOwnProperty(id)){ listeners[id](data); } } } } function DataService(ListenersService){ var Data = { value: 1 }; var self = this; var listenersService = new ListenersService(); this.addListener = listenersService.addListener; this.removeListener = listenersService.removeListener; this.getData = function(){ return Data; } setInterval(function(){ Data.value++; listenersService.notifyListeners(Data); }, 1000); } var dataSevice = new DataService(ListenersService); var World = React.createClass({ render: function() { return <strong>{this.props.data.value}</strong>; } }); var Hello = React.createClass({ getInitialState: function() { return { data: this.props.dataService.getData() }; }, componentDidMount: function() { this.props.dataService.addListener(this.updateHandler) }, updateHandler: function(data) { this.setState({ data: data }); }, render: function() { return ( <div> Value: <World data={this.state.data} /> </div> ); } }); React.renderComponent(<Hello dataService={dataSevice} />, document.body);
from https://stackoverflow.com/questions/28909171/react-js-how-to-pass-callbacks-to-child-components by cc-by-sa and MIT license
'REACTJS' 카테고리의 다른 글
[REACTJS] 합니까는 사용 requestAnimationFrame 반응? 그렇다면, 어떻게 그것을 사용합니까? (0) | 2020.11.11 |
---|---|
[REACTJS] this.state.myvar와 동기화 ReactJS this.setState () (0) | 2020.11.11 |
[REACTJS] 반응 라우터 : 실행은 함수가 아닙니다 (0) | 2020.11.11 |
[REACTJS] 구성 요소의 온 클릭 이벤트를 반응 (0) | 2020.11.11 |
[REACTJS] 당신의 돌아 오는 응용 프로그램의 초기 상태 (Initial)을 미리로드에 대한 최상의 방법은 무엇입니까? (0) | 2020.11.11 |