-
React.js - 하위 컴포넌트에서 상위 컴포넌트 제어하기내가 보기 위해 쓰는 것/React.js 2019. 10. 29. 15:02
프로젝트 진행 중 정말 절망적인 상황이 생겼는데
하위 컴포넌트에서 상위 컴포넌트를 제어해야 하는 상황이었다.
사실 구조를 현명하게 고려하지 않고 진행해서 생긴 상황이다.
이런 방법이 있었다.
상위에서 state를 만들고, 그 state를 바꾸는 함수를 하위 컴포넌트에 props로 넘긴다.
import React, { Component } from 'react' import Header from './Header/Header.js' import Section from './Section/Section.js' import Footer from './Footer/Footer.js' export default class Container extends Component { state = { section: 'main' } _switchingSection = (value) => { this.setState({ section: value }) } render() { return ( <div className="wrap"> <Header _switchingSection={this._switchingSection}/> {this.state.section === 'main' ? <Section /> : 'nothing'} <Footer /> </div> ) } }
웃기지만 진짜 저렇게 짰다.
그래서 Header에서 특정 조건이 되었을 때 Section컴포넌트가 바뀌어야 하는 상황이 온 것이다.
그래서. 만들어 둔게 너무 많아서 저렇게 해결했다.
너무 부끄럽지만 큰 내용이라 기록한다
'내가 보기 위해 쓰는 것 > React.js' 카테고리의 다른 글
반드시 공부해야 할 리액트 개념들 (0) 2020.01.17 React.js - 이벤트 Error: Maximum update depth... 해결법 (2) 2019.10.29 React.js - Container + Presenter 패턴 (0) 2019.10.29 CRA의 한계를 풀어보자 (eject) (0) 2019.10.22 React.js - state와 component life cycle (0) 2019.10.22