【发布时间】:2020-08-11 11:39:05
【问题描述】:
我正在使用 next.js 和 redux 构建一个 Web 应用程序,并尝试在我刷新或通过直接输入 url 地址访问页面时获取数据。
我在 getInitialProps 中放置了一个“getItems”操作,以便在刷新页面时自动触发它,但它永远不会起作用。
如果我在页面刷新后手动单击“getItems”操作按钮,它会从数据库加载数据,所以我猜操作功能可以正常工作。
但是如何在刷新页面时自动获取数据?
import Head from 'next/head'
import Link from 'next/link'
import { connect } from 'react-redux'
import { getItems } from '../../store/actions/itemAction'
const Index = props => {
return (
<>
<Head>
<title>Item List</title>
</Head>
<div>
<Button onClick={() => props.getItems()}>Get Items!</Button>
</div>
</>
)
}
Index.getInitialProps = async ({ store }) => {
await store.dispatch(getItems())
return {}
}
const mapStateToProps = state => ({
goods: state.item.goods,
})
const mapDispatchToProps = dispatch => ({
getItems: () => dispatch(getItems())
})
export default connect(mapStateToProps, mapDispatchToProps)(Index)
【问题讨论】:
标签: reactjs redux react-redux next.js