【发布时间】:2016-12-03 08:15:14
【问题描述】:
我正在创建一个简单的应用程序,它向服务器发出 GET 请求,然后准备接收到的数据并创建图表。有几个问题:
我应该将负责检查和准备原始数据的代码放在哪里。目前我在我的动作创建者中有它,但也许它需要在组件本身中?
我需要检查并比较准备好的数据和已经用于图表的数据,如果相同或无效,请不要调用重新渲染。我应该把这张支票放在哪里?现在我也想把它放在动作创作者里面。但为此我需要使用
getState()来访问状态,看起来不正确。对我来说,Action creators 似乎是所有这些检查的正确位置,因为如果数据无效,我就不能用它更新我的状态,(例如,不要派遣某些 action creator)或者我必须更新尽管新数据无效,但仍包含新数据的状态?
鉴于这些动作创建者,描述检查的最佳位置是什么?:
export function fetchPopulations(term = "") {
return function (dispatch) {
dispatch(fetchingPopulations())
term=toTitleCase(term)
return fetch(`${API_URL}${term.replace(/\s/g, '%20')}`)
.then(response => response.json())
.then(json => dispatch(requestPopulations(json)))
}
}
export function requestPopulations(data = []) {
return {
type: REQUEST_POPULATIONS,
payload: data,
}
}
export function fetchingPopulations() {
return {
type: FETCHING_POPULATIONS
}
}
【问题讨论】:
标签: redux react-redux