React에서 부모 컴포넌트의 state를 자식 컴포넌트의 state로 이동시킬 수 있는 방법은 다음과 같다.
https://ourcodeworld.com/articles/read/409/how-to-update-parent-state-from-child-component-in-react
class Parent extends React.Component {
constructor(props) {
super(props)
// Bind the this context to the handler function
this.handler = this.handler.bind(this);
// Set some state
this.state = {
messageShown: false
};
}
// This method will be sent to the child component
handler() {
this.setState({
messageShown: true
});
}
// Render the child component and set the action property with the handler as value
render() {
return <Child action={this.handler} />
}
}
class Child extends React.Component {
render() {
return (
<div>
{/* The button will execute the handler function set by the parent component */}
<Button onClick={this.props.action} />
</div>
)
}
}
일반 함수로 리턴할 수 있어서 좋다.
- class ParentComponent extends React.Component {
- onClick() {
- const _childValue = this.state.childValue;
- this.setState({ childValue: _childValue + 1 });
- }
- render() {
- return (<ChildComponent value={this.state.childVvalue} onClick={this.onClick.bind(this)} />)
- }
- }
- class ChildComponent extends React.Component {
- render() {
- return (
- <span>
- <div>My value: {this.props.value} </div>
- <button onClick={this.props.onClick}>Increment</button>
- </span>
- )
- }
- }
'java script' 카테고리의 다른 글
react,redux 개발시 꼭 필요한 디버깅 툴 (0) | 2017.12.20 |
---|---|
[React] 리액트 컴포넌트 라이프사이클 (0) | 2017.12.18 |
[react] state와 props의 차이 (0) | 2017.12.15 |
[react] datetime & moment & 이벤트 (0) | 2017.12.15 |
[react] Cannot read property 'setState' of undefined 에러 해결 (0) | 2017.12.15 |