728x90
반응형
졸작으로 웹만들고 있다
상단에 다른 카테고리를 누르면 (현재 C)
게시판 목록은 바뀌는데 띄워놨던 게시물 컴포넌트가 남아있다
메뉴를 새로 선택할 때 마다 게시판 컴포넌트를 끄고 싶다
상위 컴포넌트 : 에서 어떤 메뉴선택을 햇는지 state값이 바뀌고
clickmenu: "C", // or Java ,Python ,Javascript...
하위 컴포넌트 : 에서 contentOn: state값을 이용해 키고껏다가 제어한다
contentOn: "none",
<BoardMete>(하위)에 무엇을 클릭했는지 전달 했다.
import BoardMete from "./boardMete"; // 게시물 컴포넌트
.
.
render(
<BoardMete clickmenu={this.state.clickmenu} />
하위컴포넌트가 props의 변화할때를 감지하고 그때 명령을 주고싶다
결국 이말하고 하고싶은거였다
componentDidUpdate = (prevProps, prevState) => { //componentDidUpdate가 props의 변과를 감지한다
console.log("********************************");
if (this.props.clickmenu !== prevProps.clickmenu) { //하위컴포넌트가 받은 props값 적어주기(둘다)
console.log("~~~~~~~~~~~~~~~~~~~~~~~~~");
this.setState({
...this.state,
selectTagNum: -1,
contentOn: "none", // 난 여기서 contntOn을 none으로 바꿔서 사라지게 햇다
});
}
};
왜 if 조건문을 적냐면
변화가 감지 될 때마다 실행되기 때문에 무한루프가 돌 수가 있다
참 componentDidUpdate는
생명주기와 관련되 컴포넌트가 만들어지고 첫 렌더링을 다 마친 후 실행되는 메소드이다
참고:
반응형
'Project 기록 > 컴공 커뮤니티(web)' 카테고리의 다른 글
[react] 저장된 데이터 불러올 때 줄바꿈을 어케할까(개행,줄바꿈,\n,split,textarea) (2) | 2021.02.10 |
---|---|
게시판만들기 db에 저장된 데이터를 목록으로 보여주자(react,mysql) (0) | 2021.02.03 |
게시판만들기 데이터를 목록으로 보여주자(react,list,map) (0) | 2021.02.03 |
[javascript] 현재 시간/날짜를 알고싶다(Date(), getDate,getFullYear,getHours..) (2) | 2021.02.02 |