• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

useParams channel 값 undefined

22.12.01 00:15 작성 조회수 178

0

안녕하세요 제로초님.

useParams로 channel 값을 불러오면 undefined가 나와 문의드립니다.

아래 첨부한 소스코드와 같이 route를 구성해두었는데. 강의에 있는 InviteChannelModal 컴포넌트에서 channel을 불러오면 undefined가 뜹니다.

혹시몰라 workspace.tsx에 정의해둔 route대로 Channel 컴포넌트에 들어가서 호출해보니 Channel 컴포넌트에서는 workspace와 channel 두가지 값 모두 정상적으로 불러올 수 있습니다.

route를 타고 들어가지 않은 다른 요소에서 channel이라는 파라미터값을 사용하려면 어떻게 해야 할까요?

app.tsx

    <Routes>
        <Route path="/" element={<Navigate replace to="/login" />} />
        <Route path={"/login"} element={<SignIn />} />
        <Route path={"/signup"} element={<SignUp />} />
        <Route path={"/workspace/:workspace/*"} element={<Workspace />} />
    </Routes>

 

workspace.tsx

    <Routes>
        <Route path={"channel/:channel"} element={<Channel />} />
        <Route path={"dm/:id"} element={<DirectMessage />} />
    </Routes>

답변 1

답변을 작성해보세요.

1

route 내부가 아니면 params는 못 쓰고요. 다른 방식으로(props나 redux등) 전달해주셔야 합니다.

김영욱님의 프로필

김영욱

질문자

2022.12.01

아아 workspace에 inviteChannelModal이 선언되어서 workspace에서 활용하는건줄 알았는데 channel 페이지 미리 확인해보니 거기에서 다시 선언하는군요! 확인 하였습니다. 감사합니다 :)