Я хочу создать одностраничную систему входа в систему, которая отображает разные страницы в соответствии с состоянием, которое я установил в хранилище React-Redux. Функция render() {}
не обновляется при обновлении состояния магазина.
App.js
import React from 'react'
import store from './redux/store'
import { Provider } from 'react-redux'
// Route to Renderer.js below
import Renderer from './Renderer'
class App extends React.Component {
render() {
return (
<Provider store={ store }>
<Renderer page={store.getState().page} />
</Provider>
)
}
}
export default App;
Renderer.js
import React, { Component } from 'react'
// Routes to my pages I plan to render
import Login from './routes/Login'
import About from './routes/About'
import Register from './routes/Register'
class Renderer extends Component {
render() {
let page = this.props.page
let returned
switch (page) {
case 'About':
returned = <About />
break
case 'Login':
returned = <Login />
break
case 'Register':
returned = <Register />
break
default:
returned = <About />
}
return returned
}
}
export default Renderer
У меня есть Компонент связан с действием Redux, которое изменило состояние поля page
. Это не показано для простоты. Изменение в состоянии подтверждается, потому что Инструменты разработки Redux говорят мне, что состояние изменилось, когда я отправил действия по изменению состояния page
Redux. Когда я изменяю состояние Redux поля page
, отображаемая страница не обновляется и остается на странице по умолчанию.