채택완료

리액트 useSelector 로 필드 가져오려면..

리덕스 로 데이터 가져오는데요 

데이터가 오브젝트인데 필드 하나만 가져오려 했더니 잘안됩니다..

밑에 이렇게 했더니 언파인드로 출력됩니다.. 어떻게 해야하나요?

const {site_copyright} = useSelector((state) => state.config);

 

콘솔로 찍으면 아래처럼 출력됩니다.

{base: {…}}
{base: undefined}
{base: {…}}

|

답변 2개 / 댓글 5개

채택된 답변
+20 포인트

 let base = useSelector(state => {

console.log( state);  // 출력 내용을 확인해 보세요.

console.log( state.config);
    return state.config.site_copyright;
  });

답변에 대한 댓글 4개

이렇게 나와요
State: undefined
가져온 데이터를 state에 담은 듯한데
데이터를 못 받아 온 거 같군요.
네 ㅠㅠ 이게 오브젝트로 {...} 이렇게 데이터가 많으면 필드 하나는 가져와야하는데.. 안가져오는데 어떻게 할지 모르겠네요 혹시 리덕서가 문제인가요?
지금 사가 하고 리덕서 로 두개로 분리해서 쓰는데 네트워크에서 확인 할때는 제대로 실행이 되거든요
엑시오스 겟으로 추가한거 나옵니다
음.. 일단 제가 어떻게 해서 해결 봤네요 어쨌든 답변 채택은 해드릴게요 고맙습니다

답변에 대한 댓글 1개

근데 저렇게 변경해도.. 같은 결과 나와요 ㅠ
let base = useSelector(state => {
return state.config.site_copyright;
});
언파인드 뜹니다..

답변을 작성하려면 로그인이 필요합니다.