작성
·
112
·
수정됨
0
우선 무료로 이런 속이 꽉 찬 강의를 만들어주신 강사분께 감사드립니다.
다름이 아니라 제가 챕터15에 있는 실습코드를 보고 실행을 해보았는데
이러한 에러가 뜨던가 아니면 빈 웹페이지만 덩그러니 떠있는 경우만 있어
혹시 고칠 수 있는 방법이 있나 여쭤봅니다.
관리자 화면에는 이렇게 뜹니다!
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
를 사용할 때 해당 컨텍스트가 제대로 제공되지 않았을 때 발생합니다.
에러 해결을 위해 다음 단계를 시도해 보세요:
useContext
를 사용하는 모든 컴포넌트를 점검하여 해당 컨텍스트가 올바르게 제공되었는지 확인하세요. useContext(MyContext)
를 호출하는 컴포넌트가 <MyContext.Provider value={/* some value */}>
로 감싸져 있는지 확인해야 합니다.
useContext
를 호출하는 컴포넌트가 실제로 필요한 컨텍스트의 범위 안에 있는지 검토하세요. 컴포넌트 트리에서 벗어난 곳에 있거나, 잘못된 컨텍스트를 사용하고 있지 않은지 확인하세요.
만약 프로젝트 내 다른 파일에서 useContext
를 사용하고 있다면, 해당 파일에서도 비슷한 문제가 발생하지 않았는지 점검하세요.
개발 도구의 콘솔 로그나 디버깅 툴을 사용하여 어느 부분에서 정확히 문제가 발생하는지 구체적으로 파악해보세요. 디버깅 중에 실제로 null
값을 참조하고 있는 변수 또는 컴포넌트를 찾을 수 있습니다.
위 단계들을 통해 문제의 원인을 좀 더 정확하게 파악하고 해결 방법을 찾으실 수 있을 거예요. 추가적인 도움이 필요하시다면 문제가 발생하는 구체적인 useContext
사용 부분과 함께 다시 질문해 주세요.