私はそれを発送した後にReducer
(更新された状態)のデータを使用してサーバーにAPIリクエストを行います。私は十分なデータがあればディスパッチャでそれをしたでしょうが、私はディスパッチャに必要なデータだけを送ります。Reduxレデューサーのデータを使用したAPI呼び出し?
どうすればよいですか?
/* Book list container*/
const mapStateToProps = (state) => {
return {
books: state.bookApp.books
}
}
const mapDispatchToProps = (dispatch) => {
// Calling change book title from component
return {
// Dispatch new title to the book list by it's id
onChangeBookTitle: (id, newTitle) => {
dispatch(updateBookTitle(id, newTitle))
}
}
}
// Connect redux to bookList component
export default connect(
mapStateToProps,
mapDispatchToProps
)(BookList);
/* Book list action creator */
export const updateBookTitle = (id, newTitle) => {
return {
type: 'EDIT_BOOK_TITLE',
title: newTitle
}
};
/* Book list reducer */
// Assume there's already a book to update
const defaultState = {
bookList: []
}
const bookApp = (state = defaultState, action) => {
switch(action.type) {
case 'EDIT_BOOK_TITLE' : {
let newBookList;
// Create new copy of booklist
// Do some transformation
// And voilaa... i got new book list
return {...state, bookList: newBookList}
// This is the place where I want to do my API call, using the new BookList data
}
default:
return state;
}
これを達成したいコードの部分とこれまでに試したことを私たちに教えてください。 – G4bri3l
@ G4bri3l、いくつかのコードを追加しました。ご覧ください。私はたくさんのことを試みましたが、それはどこにもありませんでした。もしあなたがこれに対する解決策を持っているなら、私を助けてください。ありがとう。 –