강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

유지석님의 프로필 이미지
유지석

작성한 질문수

챕터 15관련 질문입니다.

작성

·

112

·

수정됨

0

우선 무료로 이런 속이 꽉 찬 강의를 만들어주신 강사분께 감사드립니다.

다름이 아니라 제가 챕터15에 있는 실습코드를 보고 실행을 해보았는데

 

 

asdasdasdasdasd.JPG이러한 에러가 뜨던가 아니면 빈 웹페이지만 덩그러니 떠있는 경우만 있어

혹시 고칠 수 있는 방법이 있나 여쭤봅니다.

관리자 화면에는 이렇게 뜹니다!dasdasdasda.JPG

import styled from "styled-components";

const Wrapper = styled.div`
    padding: 1rem;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    background-color: lightgrey;
`;

const Block = styled.div `
    padding: ${(props) => props.padding};
    border: 1px solid black;
    border-radius: 1rem;
    background-color: ${(props) => props.backgroundColor};
    color: white;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
`;

const blockItems = [
    {
        label: "1",
        padding: "1rem",
        backgroundColor: "red",
    },
    {
        label: "2",
        padding: "3rem",
        backgroundColor: "green",
    },
    {
        label: "3",
        padding: "2rem",
        backgroundColor: "blue",
    },
];

function Blocks(props) {
    return (
        <Wrapper>
            {blockItems.map((blockItem) => {
                return (
                    <Block
                        padding={blockItem.padding}
                        backgroundColor={blockItem.backgroundColor}
                    >
                        {blockItem.label}
                    </Block>
                );
            })}
        </Wrapper>
    );
}

export default Blocks;

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

유지석님, 제공해주신 코드와 에러 메시지를 볼 때 문제는 useContext를 사용하는 다른 부분에서 발생하는 것 같습니다. 제공해주신 코드에서는 useContext가 직접 사용되지 않았으나, 에러 메시지는 useContext 호출 시 null 값을 참조하고 있다고 나타내고 있어요. 이는 보통 useContext를 사용할 때 해당 컨텍스트가 제대로 제공되지 않았을 때 발생합니다.

에러 해결을 위해 다음 단계를 시도해 보세요:

  1. useContext를 사용하는 모든 컴포넌트를 점검하여 해당 컨텍스트가 올바르게 제공되었는지 확인하세요. useContext(MyContext)를 호출하는 컴포넌트가 <MyContext.Provider value={/* some value */}>로 감싸져 있는지 확인해야 합니다.

  2. useContext를 호출하는 컴포넌트가 실제로 필요한 컨텍스트의 범위 안에 있는지 검토하세요. 컴포넌트 트리에서 벗어난 곳에 있거나, 잘못된 컨텍스트를 사용하고 있지 않은지 확인하세요.

  3. 만약 프로젝트 내 다른 파일에서 useContext를 사용하고 있다면, 해당 파일에서도 비슷한 문제가 발생하지 않았는지 점검하세요.

  4. 개발 도구의 콘솔 로그나 디버깅 툴을 사용하여 어느 부분에서 정확히 문제가 발생하는지 구체적으로 파악해보세요. 디버깅 중에 실제로 null 값을 참조하고 있는 변수 또는 컴포넌트를 찾을 수 있습니다.

위 단계들을 통해 문제의 원인을 좀 더 정확하게 파악하고 해결 방법을 찾으실 수 있을 거예요. 추가적인 도움이 필요하시다면 문제가 발생하는 구체적인 useContext 사용 부분과 함께 다시 질문해 주세요.

유지석님의 프로필 이미지
유지석

작성한 질문수

질문하기