[英]Redux - Data not updating in Redux store
我无法将通过 axios 获取的一些数据传递到 Redux 存储以用于另一个组件。 我有其他非常相似并且正在工作的动作和减速器,但这个不是。
数据流如下:
// actions/index.js
export const UPDATE_APPT_LIST = "UPDATE_APPT_LIST"
export const updateInfo = list => {
return {
type: UPDATE_APPT_LIST,
list
}
}
// reducers/index.js
import { UPDATE_APPT_LIST } from '../actions'
const updateInfoReducer = (list = [], action) => {
switch (action.type) {
case UPDATE_APPT_LIST:
return action.list;
default:
return list;
}
}
// Filter.js
class Filter extends React.Component {
state = { info: [] }
async componentDidMount() {
await this.retrieveInfo()
}
retrieveInfo = async () => {
let res = await axios.get('someURL')
updateInfo(res.data) // update redux store function
this.setState({ info: res.data })
}
}
mapStateToProps = state => {
return { infoList: updateInfoReducer }
}
export default connect(mapStateToProps, { updateInfo })(Filter)
// Info.js
class Info extends React.Component {
render() {
console.log(this.props)
return (... some jsx)
}
}
mapStateToProps = state => {
return state
}
export default connect(mapStateToProps)(Info)
找到了答案,这是一个愚蠢的答案。 我忘记了 Filter.js 中的const { updateInfo } = this.props
this.props。 无论如何,这将导致 action 被调度,但action.type
在 reducer 中不匹配,导致默认情况被触发。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.