Я установил работоспособность ваших кодов и ящиков. Главное, что я сделал, это обновил реагирующий маршрутизатор до последней из реактивных маршрутизаторов. Я не уверен, почему вы используете новый проект с древней библиотекой маршрутизатора.
Другие вещи, которые я делал, были для запуска кода, я сделал объявление приложения фактическим компонентом, а не stati c JSX, который вызывает проблемы
const App = () => (
<React.StrictMode>
<Provider store={store}>
<Router>{routes}</Router>
</Provider>
</React.StrictMode>
);
ReactDOM.render(<App />, document.getElementById("root"));
Я также сделал ваши маршруты немного отличающимися в объявлении, так как Маршрут не поддерживает ни дочерние элементы, ни компонент одновременно. Поскольку значения Маршрут в Main не нужны, его можно изменить на дочерний для маршрута.
const routes = (
<>
<Route path="/">
<Main>
<Route path="/signup" component={Signup} />
</Main>
</Route>
</>
);
В гостевом маршруте я изменил componentWillMount
и componentWillUpdate
на componentDidMount
и componentDidUpdate
, так как они являются предпочтительными вариантами, так как остальные теперь устарели.
При регистрации я экспортировал его с guestRoute HO C вокруг него
export default guestRoute(
connect(
null,
mapDispatchToProps
)(Signup)
);
https://codesandbox.io/s/inspiring-field-yokx4?file= / SRC / макет / Main.jsx