ストアが更新されるたびに、どのようにajaxコールを行うことができますか?ストアが更新されるたびにajax呼び出しを行う方法はありますか?
基本的に、新しいAPIパラメータで商品を取得したいとします。ページあたりのアイテムのドロップダウンがあるとします。読み込み中、つまりメソッド呼び出し時に正常に動作していますcomponentWillMount
しかし、ストアが変更されたときに再度フェッチする方法がわかりません。事前に
import React, { Component } from 'react';
import ProductsList from '../components/ProductsList'
import { connect } from 'react-redux'
// Action Creators
import doFetchProducts from '../actions/doFetchProducts'
import queryString from 'query-string'
class Products extends Component {
constructor (props) {
super(props);
}
componentWillMount() {
this.fetch()
}
fetch() {
let q = queryString.stringify({
categories: 'rings',
'attributes.Style': 'Classic',
limit: this.props.applyItemsPerPage,
page: 1,
status: 'Active'
})
this.props.dispatch(
doFetchProducts(q)
)
}
render() {
return (
<section className="content">
<ProductsList {...this.props} />
</section>
);
}
}
const mapStateToProps = state => {
return {
products: state.applyFetchProducts.products,
isLoading: state.applyFetchProducts.isLoading,
itemsPerPage: state.applyItemsPerPage
}
}
export default connect(
mapStateToProps
)(Products);
感謝。
コンポーネントが更新されたときにajaxコールを実行することを意味しますか?そのためには 'componentWillRecieveProps'を使うことができます。 https://facebook.github.io/react/docs/react-component.html#componentwillreceivepropsをご覧ください。 –