Я работаю над реактивно-нативным проектом с редуксом. До сих пор я успешно подключил Redux к одному экрану и пытаюсь подключить следующий, первый работает просто отлично. Проблема в том, что я получаю:
TypeError: Невозможно прочитать свойство 'currentView' из неопределенного
при попытке извлечь значение из хранилища.
Мой магазин успешно настроен и intialized: https://ibb.co/WxrKMgh (все также работает на первом экране)
Моя реализация (сокращена для лучшей читаемости):
import { connect } from 'react-redux';
class App extends React.Component {
public state: any;
public props: any;
public setState: any;
render() {
return (
<>
{this.props.authentication.currentView === 'initializing' && (
<InitializationScreen />
)}
{'hallo' == 'mainNav' && <AppContainer />}
</>
);
}
}
const mapStateToProps = (state: any) => {
const { currentView } = state;
return {
currentView,
};
};
export default connect(mapStateToProps)(App);
Проблемы c код:
{this.props.authentication.currentView === 'initializing' && (
<InitializationScreen />
)}
Вы видите, что является причиной ошибки?
Большое спасибо!
Для дальнейшего использования я нашел решение:
я изменил mapstatetoprops на:
const mapStateToProps = (state: any) => {
const { currentView } = state.authentication;
return {
currentView,
};
};
Это в основном то же самое, но по какой-то причине, так оно и есть работает (хотя должно быть точно так же)
Состояние в mapStateToProps:
{
"search": {
"searchType": "Quick Search",
},
"authentication": {
"currentView": "mainNav"
}
}