Làm sao để pass argument vào takeEvery trong redux-saga

Action, Action Creator:

   const START_ACTION= 'START_ACTION';
        function startAction(message) {
          return {
            type: START_ACTION,
            message:message
          }
        }
   const END_ACTION= 'END_ACTION';
        function endAction(message) {
          return {
            type: END_ACTION,
            message:message
          }
        }

Saga:

function* onStartAction() {
  yield put(endAction( ???));
}
function* watch() {
  yield* takeEvery("START_ACTION",onStartAction);
}

Event:

    <button onClick={() => { this.props.dispatch(startAction("Message")) } }>ggg</button>

Ở đây mình muốn pass message từ startAction => endAction, tuy nhiên, takeEvery nó chỉ bắt sự kiện thôi (START_ACTION) nhưng mình không biết làm sao nhận argument (message) từ cái START_ACTION này như nào cả

Đã biết

function* onStartAction(action) {
  yield put(endAction(action.message));
}
function* watch() {
  yield* takeEvery("START_ACTION",onStartAction);
}
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?