06. 실무형 폴더구조 와 props
폴더구조의 체계화
container / presentational 패턴이란
소스코드를 Javascript(기능)와 HTML(UI)로 나누는 방법을 의미합니다.
- Container 는 Javascript
- Presenter 는 HTML
위의 내용을 두개의 파일로 나누면 이렇게 됩니다.
세부 내용은 이렇게 됩니다.
props로 데이터 전달하기
부모 자식 컴포넌트의 관계에서 props는 밑으로 event는 위로 전달하는데
부모는 props를 통해 데이터를 전달하고 지식은 event를 통해 메시지를 전달합니다.컴포넌트를 2개로 나누면서 데이터와 기능의 연결 고리가 끊어졌습니다.
이 때, 부모컴포넌트와 자식컴포넌트를
props
로 연결할 수 있습니다.
Emotion 에 props 던지기
emotion 으로 만들어진 태그도 props를 전달할 수 있습니다.
import { useState } from 'react'; import { Test } from '../../src/test2'; export default function Test2() { const [isTrue, setIsTrue] = useState(false); const handleOnClick = () => { setIsTrue((prev) => !prev); }; return ( <> <Test onClick={handleOnClick}>클릭하면 색이 왔다 갔다</Test> </> ); }
import styled from '@emotion/styled'; export const Test = styled.div` color: red; `;
위의 코드는 handleOnClick를 클릴할 때 마다 isTrue의 값이 true/false로 바뀌게 됩니다.
여기에서 css에 true와 false의 각각 다른 색을 보여주게 하면 됩니다.
return ( <> <Test isTrue={isTrue} onClick={handleOnClick}>클릭하면 색이 왔다 갔다</Test> </> );
export const Test = styled.div` color: ${(props) => (props.isTrue ? 'red' : 'blue')}; `;
Author And Source
이 문제에 관하여(06. 실무형 폴더구조 와 props), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@y__baam/06.-실무형-폴더구조-와-props저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)