programing

연결 및 라우터 문제

lastmoon 2023. 4. 2. 11:49
반응형

연결 및 라우터 문제

프로젝트에는 Redux와 React를 사용하고 있습니다.App.js에 몇 가지 경로가 있습니다.또, 리액트 리듀스의 접속 기능도 사용하고 있습니다.업데이트 차단 문제를 방지하기 위해 보통 이 방법으로 컴포넌트를 포장했습니다.

withRouter(connect(mapStateToProps, mapDispatchToProps)(App)),

단, WithRouter의 순서를 변경하여 접속해도 동작하지 않는 경우:

connect(mapStateToProps, mapDispatchToProps)(withRouter(App))

App.js에 console.log 소품이 있습니다.이미 위치와 역사 소품들을 받고 있다.나는 왜 순서가 중요한지 이면에 있는 이론을 알아내고 있다.

다음과 같이 사용할 수 있습니다.composeredux 라이브러리에서.

export default compose(
  withRouter,
  connect(mapStateToProps, mapDispatchToProps)
)(App);

이 https://reacttraining.com/react-router/core/api/withRouter,을 참조해 주세요.그 반대로는 동작하지 않습니다.

두 가지 방법으로 할 수 있습니다.

적절한 방법:

withRouter(connect(mapStateToProps, mapDispatchToAction)(App));

이것으로 역사, 경기 등 라우터의 소품을 손에 넣을 수 있습니다.mapStateToProps에 있습니다.

두 번째 방법:

connect(mapStateToProps, mapDispatchToAction)(withRouter(App));

이걸 사용하면 라우터와 함께 있는 소품을 구할 수 없게 됩니다.

아직 문제가 있는 경우는, 이것을 따라 주세요.

const ShowTheLocationWithRouter = withRouter(Login);

export default connect(mapStateToProps, mapDispatchToProps)(ShowTheLocationWithRouter);
export default connect(mapStateToProps)(withRouter(FacilitiesDropdown))

이것으로 connect와 with Router를 함께 사용하는 문제가 해결되었습니다.

언급URL : https://stackoverflow.com/questions/54247082/connect-and-withrouter-issue

반응형