Сейчас я пытаюсь получить начальное состояние моей стороне сервера приложений через повторный набор номера.Использование Redux-сагу и повторного набора серверную
Повторный набор запускает действие чистого объекта, а redux-saga прослушивает/ожидает этого действия, а затем запускает запрос async.
Но проблема заключается в том, что Redial не имеет никаких обещаний решить, когда завершающая сага завершена, потому что она отправляет чистый объект.
Компонент
const redial = {
fetch: ({ dispatch }) => dispatch({ type: actionTypes.FETCH_START }),
};
export default class PostList extends Component {
render() {
const { posts } = this.props;
return (
<div>
{posts.map(post => <ListItem key={post.id} post={post} />)}
</div>
);
}
}
PostList.propTypes = {
posts: PropTypes.array.isRequired,
};
export default provideHooks(redial)(connect(mapStateToProps)(PostList));
Saga
export function *fetch() {
try {
yield put({ type: actionTypes.FETCH_START });
const response = yield call(fakeData);
yield put({ type: actionTypes.FETCH_SUCCESS, data: response.data });
yield put({ type: actionTypes.FETCH_PENDING });
} catch (e) {
yield put({ type: actionTypes.FETCH_FAIL });
}
}
export default function *loadPost() {
yield * takeLatest(actionTypes.FETCH_START, fetch);
}
export default function *rootSaga() {
yield [
fork(loadPost),
];
}
Есть ли способ подключения redial
к redux-saga
?