【发布时间】:2017-08-16 19:20:58
【问题描述】:
每次商店更新时如何进行 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。签出:facebook.github.io/react/docs/…
标签: reactjs redux redux-thunk