如何将数据保留在重新渲染的react组件中?

问题描述 投票:0回答:1

我正在对nodejs服务器进行简单的axios调用,以响应从猫鼬模式模型中获取产品的反应。首次加载页面时,我使用componentDidMount从MongoDB中获取现有产品。但是,当我重新加载页面时,所有项目都消失了。

反应组件(componentDidMount):


class Product extends Component {
  constructor(props) {
    super(props);
    this.state = { products: '' };
  }

componentDidMount() {

  axios.get('http://localhost:3001/getProduct')
    .then(res => {
       this.setState({ products: res.data });
      }).catch((err) => {
        console.log(err);
      });
  }

Nodejs服务器(/ getProduct api):

app.get('/getProduct', (req,res) => {

   Products.find(product_id), (err, products) => {
       if(err) throw err;
       res.status(200).send(products);
   });
}

我相信这与回调有关?请帮助,我是新来的。

node.js reactjs callback axios react-component
1个回答
0
投票
当我重新加载页面时,所有项目都消失了。
状态驻留在浏览器内存中,这意味着它是[[非持久性。

要保持状态,请使用redux-persist

© www.soinside.com 2019 - 2024. All rights reserved.