javascript - React Native 中的 Redux Toolkit HMR 不会更新 reducer
问题描述
TL;DR:在 React Native 中为 HMR 配置 Redux Toolkit 存储可以正确刷新应用程序的更改,但减速器的行为不会改变!
从React Native 重新加载公告中可以看出,React Native中的 Redux 支持 HMR,但列出的步骤似乎不再起作用。我已经配置了公告中提到的所有内容;但是,reducer 重新加载实际上似乎并没有改变任何东西。当我编辑减速器时,应用程序会更新(重新加载通知),但减速器的行为不会改变!
// store/rootReducer.js
import { combineReducers } from "@reduxjs/toolkit";
import eventsReducer from "./slices/events";
import peopleReducer from "./slices/people";
const rootReducer = combineReducers({
events: eventsReducer,
people: peopleReducer,
});
export default rootReducer;
// store/index.js
import { configureStore } from "@reduxjs/toolkit";
import rootReducer from "./rootReducer";
const store = configureStore({
reducer: rootReducer,
});
if (process.env.NODE_ENV === "development" && module.hot) {
module.hot.accept(() => {
const newRootReducer = require("./rootReducer").default;
store.replaceReducer(newRootReducer);
});
}
export default store;
// App.js
import React from "react";
import { Provider } from "react-redux";
import store from "./store";
const App = () => {
return (
<Provider store={store}>
// ...ThemeProvider, Navigation scenes, etc
</Provider>
);
};
export default registerRootComponent(App);
任何想法为什么会发生这种情况?我一直在寻找相关问题,但找不到最近(即今年)的任何内容。任何较旧的问题也不起作用。我的理解是我不必处理 App HMR,因为这是由 React Native 自动处理的。上面的公告表明,在 React Native 中将 HMR 添加到 Redux 非常容易;然而,事实证明并非如此。
解决方案
推荐阅读
- python - 目标夹具是做什么用的?
- react-native - 如何为用户的连接添加条件?
- c# - 在 WebView2 中初始化 EnsureCoreWebView2Async(null) 时出现异常
- sql-server - 多子串字符索引
- cmake - 完全清除 CMake 缓存 (Qt Creator)
- javascript - 如何从任何前端应用程序调用nestjs 微服务?
- uicollectionview - TVCardView 圆角的奇怪行为
- azure-devops - 使用类似信号量的条件进行管道作业排队
- python - 来自多个文件的倒排索引
- python - 如何在没有导入的情况下计算列表的第 1 和第 3 个四分位数?