Я хочу выполнить некоторые вычисления и отправлять действие всякий раз, когда пользователь открывает мое приложение.Это соответствующая часть моего кода (App.js):
class ConnectedMainNavigator extends React.Component {
componentDidMount() {
updatedCustomers = this.props.customers.map(customer => {
let frequency = 0
currentDate = new Date()
customer.transactions.forEach(transaction => {
if (daysFromTransaction(transaction.date, currentDate) < 30)
frequency++;
})
return {
...customer,
frequency: frequency
}
})
this.props.updateFrequency([...updatedCustomers])
}
render() {
return <MainNavigator/>
}
}
const mapStateToProps = state => ({
customers: state.customers
})
connect(mapStateToProps,{updateFrequency: updateFrequency})(ConnectedMainNavigator)
export default class App extends React.Component {
state = {
isReady: false,
}
async componentWillMount() {
await Expo.Font.loadAsync({
'MaterialIcons': require('@expo/vector-icons/fonts/MaterialIcons.ttf')
});
this.setState({isReady: true})
}
render() {
if (!this.state.isReady)
return <Expo.AppLoading/>
return (
<Provider store={store}>
<PersistGate persistor={persistor}>
<ConnectedMainNavigator/>
</PersistGate>
</Provider>
);
}
}
Я создал отдельный компонент (ConnectedMainNavigator), который подключается к моему магазину.Я рендеринг этого компонента в моем компоненте приложения.Однако я получаю следующую ошибку:
TypeError: TypeError: Невозможно прочитать свойство 'map' из неопределенного
Эта ошибка находится по адресу: в ConnectedMainNavigator (в App.js:82) ...
Может кто-нибудь сказать мне, почему я получаю эту ошибку?Кроме того, есть ли лучший способ выполнять вычисления, когда ваше приложение открыто?