экспорт объекта с возможностью использовать в его методах его же методы
есть у меня такой объект с санками, сделал так для удобства экспорта, но наткнулся на проблему, мне нужно при удачном выполнении санки updateStatus, которую я запускаю в компоненте, запустить другую, getStatus, но не могу реализовать, ошибка this undefined
export const Thunks = {
getStatus: (userId) => (dispatch) => {
profileAPI.getProfileStatus(userId)
.then(data => {
dispatch(setUserStatus(data));
});
},
updateStatus: (status) => (dispatch, useState) => {
let id = useState().auth.id
profileAPI.updateProfileStatus(status)
.then(response => {
if ( response.resultCode === 0 ) {
dispatch(this.getStatus(id)); //вопрос к этой строчке
}
});
}
}
Вопроса два:
- Как реализовать, если это возможно?
- Как правильно экспортировать одним объектом или по отдельности
UPD:
постарался переписать, как предложили в ответах, но всё равно не получилось
export const Thunks = {
getProfile: function (userId) {
return (dispatch) => {
profileAPI.getProfile(userId)
.then(data => {
const checkedData = objIterationWithReplacement(data, null, '');
dispatch(setUserProfile({ ...checkedData, photoUrl: Volodymyr }));
});
};
},
updateProfileInfo: function (values) {
return (dispatch, getState) => {
const userId = getState().auth.id;
profileAPI.updateProfileInfo(values)
.then(response => {
if ( response.resultCode === 0 ) {
dispatch(this.getProfile(userId));
}
});
};
},
};
Ответы (1 шт):
Автор решения: Grundy
→ Ссылка
В данном случае можно использовать имя переменной Thunks
dispatch(Thunks.getStatus(id)); //вопрос к этой строчке