現在、アプリケーション サーバー側の初期状態を Redial で取得しようとしています。
リダイヤルは純粋なオブジェクト アクションをトリガーし、redux-saga はそのアクションをリッスン/待機してから、非同期要求を開始します。
しかし問題は、純粋なオブジェクトをディスパッチしているため、redux-saga が完了したときに解決するという約束が 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));
佐賀
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
か?