Alt + React - недействительная ссылка на действие при следовании инструкции alt
Я пытаюсь реализовать Alt в моем приложении React. В настоящее время я проверяю это и просто попробовал кое-что после учебника. Теперь я застрял с проблемой, что магазин не распознает действие.
Это класс действий:
import alt from '../libs/alt';
import WishSource from '../sources/WishSource';
class WishActions {
fetchWishes() {
this.dispatch();
WishSource.fetch()
.then((wishes) => {
this.actions.fetchWishesSuccess(wishes);
})
.catch((err) => {
this.actions.fetchWishesFailed(err);
});
}
fetchWishesSuccess(wishes) {
this.dispatch(wishes);
}
fetchWishesFailed(err) {
this.dispatch(err);
}
}
export default alt.generateActions(WishActions);
Я пытаюсь связать эти действия в моем магазине следующим образом:
import alt from '../libs/alt';
import WishActions from '../actions/WishActions';
class WishStore {
constructor() {
this.wishes = [];
this.errorMessage = null;
this.bindListeners({
handleFetchWishes: WishActions.FETCH_WISHES,
handleFetchWishesSuccess: WishActions.FETCH_WISHES_SUCCESS,
handleFetchWishesFailed: WishActions.FETCH_WISHES_FAILED
});
}
handleFetchWishesSuccess(wishes) {
this.wishes = wishes;
this.errorMessage = null;
}
handleFetchWishes() {
this.wishes = [];
}
handleFetchWishesFailed(err) {
this.errorMessage = err;
}
}
export default alt.createStore(WishStore, 'WishStore');
Я продолжаю давать мне ошибку
"Передана неверная ссылка действия"
Проблема где-то в функции bindListeners.
Если я попробую bindActions, он скажет:
'_WishActions2.default.fetchWishes не является функцией'
и это в поле зрения. Здесь я звоню WishActions.fetchWishes()
в componentDidMount()
Я не могу понять, что здесь происходит не так. Если я посмотрю на учебник и другие примеры, это должно работать.
Может ли кто-нибудь помочь мне здесь и, возможно, объяснить, что не так?
1 ответ
Я нашел, что пошло не так, и оставлю пост здесь, если кто-то еще столкнется с тем же.
Проблема была в том, что я использовал generateActions вместо createActions. Вы используете createActions для класса и generateActions для простых функций.
generateActions ('create') сделает функцию create = (x) => { return x; } и отправьте его. Вы все еще можете использовать это в своем классе с this.generateActions в конструкторе