将多个值传递给redux saga调用

问题描述 投票:3回答:1

我需要将2个值传递给发布请求。我已经这样写了电话

       const { phoneNumber, code } = params;

        yield call(
          apiCall,
          Generic.loginSms,
          actions.loginSmsLink(phoneNumber, code)
        );

动作就这样。

        export const loginSmsLink = createAction(
          ActionTypes.SMS_CODE_LOGIN,
          phoneNumber => ({ phoneNumber }),
          code => ({ code })
        );

请求:

       loginSms: apiCall(({phoneNumber, code}) => ({
         method: 'POST',
         url: '/login',
         data: {
           loginAuthenticationToken: {
            '@type': 'sms',
            phoneNumber,
            code
           }
          }
        })),

该请求仅接受phoneNumber的第一个参数。

redux redux-saga
1个回答
0
投票

我相信问题是因为您要将对象作为参数传递给函数。如果您的参数要接受多个参数,这应该起作用:

loginSms: apiCall((phoneNumber, code) => ({
  method: 'POST',
  url: '/login',
  data: {
    loginAuthenticationToken: {
      '@type': 'sms',
      phoneNumber,
      code
    }
  }
})),
© www.soinside.com 2019 - 2024. All rights reserved.