0

パラメータをaxios.postリクエストに入れる方法を理解するのに苦労していますか? これまでの私のアプリについて少し:

RethinkDB のインスタンスと通信している高速アプリがあります。別の React/Redux アプリもあります。アクションクリエーターでエクスプレスエンドポイントを正常にヒットaxios.getし、React コンポーネントでそのデータ (ユーザー) を表示できます。ただし、現在、エクスプレス アプリの別のルートにパラメーターを送信し、そのユーザーを rethinkdb データベースに保存しようとしています。当分の間、認証には関心がありません。エクスプレス側で正しくセットアップし、カールを介してエクスプレスアプリ内からダミーユーザーをDBに保存できますが、反応アプリ/反応フォームからのリクエストで必要なパラメーターを送信する方法がわかりません。以下の関連コードを見つけてください。

私のExpress App APIから、手動でヒットすると、テストユーザーがデータベースに正常に保存されます。

var TestUser = thinky.createModel("TestUser", {
  id: String,
  name: String,
  email: String,
})

router.get('/newUser', (req, res) => {
  TestUser.save({
    name: 'sawyer',
    email: 'sawyer@test.com'
  }).then((result) => {
    console.log('Saved!')
    res.send(result)
  })
})

..そして以下は、別のアクションファイルのコードスニペットですReact and Redux App。正直なところ、それを書いてuserオブジェクトを含めるのが本当に難しいかどうかはわかりません。

function addUser (user) {
  return {
    type: ADD_USER,
    user,
  }
}

export function addAndSaveUser (user) {
  return function (dispatch) {
    return dispatch(addUser(user)).then({
      axios.post("http://localhost:3000/users/newUser", )
    })
  }
}

どんな助けでも大歓迎です。

4

2 に答える 2

1

userオブジェクトを2番目のパラメータとして渡すだけです

axios.post("http://localhost:3000/users/newUser", user)

addUserアクションを正常に作成した後で、アクションをディスパッチすることをお勧めします。

export function addAndSaveUser (user) {
  return function(dispatch) {
    axios.post("http://localhost:3000/users/newUser", user).then(res => {
      dispatch(addUser(res.data));
    });
  };
}
于 2016-08-17T09:03:24.437 に答える