⬆︎위 1.쉐이빙젤 > 2.면도 > 3.애프터쉐이브 에서 원하는 단계를 클릭하면 오른쪽 이미지와 아래 텍스트가 변경되도록 만들어야 한다.
쉐이빙젤, 면도, 애프터쉐이브 각각 클릭했을 경우 보여주는 텍스트가 다르기 때문에 각각의 컴포넌트로 분리시켜 만들어준 후 import 해오기로 했다.
⬆︎3개의 컴포넌트를 key
가 1, 2, 3인 객체에 ket value
로 넣어주었다.
⬆︎onClick 이벤트가 발생시 호출될 이벤트핸들러에 Hooks로 state값을 바꿔준다. 변경된 state값은 어떤 것을 클릭했냐에 따라 스타일을 바꿀때도 사용된다.
이 이벤트 핸들러를 <span>1.쉐이빙젤</span>
<span>2.면도</span>
<span>4.애프터쉐이브</span>
에 넣어준다.
예시
<span steps={clickedNum} onClick={() => clickStep(1)}> 1.쉐이빙젤 </span> <span steps={clickedNum} onClick={() => clickStep(2)}> 2.면도 </span> <span steps={clickedNum} onClick={() => clickStep(3)}> 3.애프터쉐이브 </span>
이렇게 해당 내용을 클릭하면 onClick에서 각각의 인자로 1, 2, 3중 하나를 넘겨줘서 그때그때마다 state에 1, 2, 3중 하나로 저장된다. 이 state값을 다시 props로 넘겨주면 styled-component에서 스타일링이 가능!
⬆︎또 처음에 만들었던 컴포넌트들이 들어있던 객체!에는 1, 2, 3들이 key이기 때문에 state를 객체에 붙여주면 해당 컴포넌트를 불러와주게 된다.