使用 Redux 和 React Router 在 React 应用程序的浏览器中重新加载 url,导致存储状态未定义
Reloading url in browser in a React app using Redux and React Router causing store state to be undefined
我正在使用带有 react-redux 和 react-router 的 create-react-app。
<SingleProduct />
是这样定义的
function SingleProduct(props){
let id= props.match.params.id
let products = props.products
return (display the matching product properties)
}
<SingleProduct />
渲染的时候,是依赖路由收到的id。
然后它会在 props.products
中搜索 id 以获取特定的产品属性。
<SingleProduct />
像这样连接到 redux store:
function mapStateToProps(state){
return {
products: state.products}
}
当我刷新浏览器时,props.products
不再被识别,我在尝试读取未定义的属性时遇到错误。
我该如何解决这个问题?是路由问题(客户端路由)还是其他问题?我弹出了我的应用程序,尝试调整 Webpack 配置以解决客户端路由问题,但没有成功。
请注意,我正在通过 REST API 获取产品。
任何帮助表示赞赏。
您需要在项目中使用 localstorage 或 redux-persist 以在 url 重新加载后保留存储的状态数据
https://www.npmjs.com/package/redux-persist
我正在使用带有 react-redux 和 react-router 的 create-react-app。
<SingleProduct />
是这样定义的
function SingleProduct(props){
let id= props.match.params.id
let products = props.products
return (display the matching product properties)
}
<SingleProduct />
渲染的时候,是依赖路由收到的id。
然后它会在 props.products
中搜索 id 以获取特定的产品属性。
<SingleProduct />
像这样连接到 redux store:
function mapStateToProps(state){
return {
products: state.products}
}
当我刷新浏览器时,props.products
不再被识别,我在尝试读取未定义的属性时遇到错误。
我该如何解决这个问题?是路由问题(客户端路由)还是其他问题?我弹出了我的应用程序,尝试调整 Webpack 配置以解决客户端路由问题,但没有成功。 请注意,我正在通过 REST API 获取产品。 任何帮助表示赞赏。
您需要在项目中使用 localstorage 或 redux-persist 以在 url 重新加载后保留存储的状态数据 https://www.npmjs.com/package/redux-persist