Я столкнулся с этой проблемой, когда тестировал только что созданное действие и редуктор. Пропорция не обновляется, хотя я устанавливаю ее в своем редукторе на фиксированное значение. Вот коды, которые я сделал в своем тестировании.
Компонент:
class <ComponentName> extends Component {
componentDidMount() {
login()
}
render() {
if(this.props.isLogged)
return (
<App/>
);
else
return (
<ErrorScreen/>
);
}
}
function mapStateToProps(state) {
return {
isLogged:state.auth.isLogged
}
}
const mapDispatchToProps = (dispatch) => {
return {
login: () => dispatch(login())
};
};
export default connect(mapStateToProps,mapDispatchToProps)(<ComponentName>)
Действие:
export function login() {
return {
type:"TEST"
}
}
Разбавление:
const initState = {
isLogged: false,
}
export default (state=initState, action) => {
switch(action.type) {
case "TEST":
return {
...state,
isLogged: true
}
break;
default:
return state
}
}
Комбинированный редуктор:
import {combineReducers} from 'redux'
import AuthenticationReducer from './authenticationReducer'
export default combineReducers({
auth: AuthenticationReducer
})
Поставщик:
import React, {Component} from "react";
import <ComponentName> from './app/screens/<ComponentName>'
import store from './app/store'
import {Provider} from 'react-redux'
export default () =>
<Provider store={store}>
<<ComponentName>/>
</Provider>;
Уже несколько часов пытаюсь отладить это. Я совершенно не понимаю, почему это происходит. Может я неправильно это реализовал? Я не знаю больше. Если есть какие-то файлы, которые я забыл включить, пожалуйста, сообщите мне. Спасибо и хорошего дня!