React改写index.js全局监听redux状态修改时重新挂载元素

查看本文 首先 你需要明白redux的基本部署结构 最典型的就是 store的编写 如果不了解 可以查看我的文章
分解优化react对redux的基础使用

大家都知道 React和redux不像vue和vuex
vuex数据更改是响应式的 项目组件用到的都会重新渲染 但redux改变 React项目是没什么反应的

但其实是可以监听的

我们找到 src下的 index.js 在这里引入store
然后 root.render是界面挂载的代码
我们通过store subscribe监听redux状态改变 当触发时 重新执行 root.render把界面整个挂载一次即可

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import store from "./store/index";

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);
store.subscribe(() => {
  root.render(
    <React.StrictMode>
      <App />
    </React.StrictMode>
  );
})

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值