我正在使用 Redux 订阅商店并更新组件。
这是一个没有 Redux 的简化示例。它使用一个模型商店来订阅和分派。
请按照代码段下面的步骤重现问题。
编辑:请跳到更新下的第二个演示片段,以获得更简洁、更接近现实生活的场景。问题不在于 Redux。这是关于 React 的 setState 函数标识在某些情况下导致重新渲染,即使状态没有改变。
编辑 2:在“更新 2 ”下添加了更简洁的演示。
const {useState, useEffect} = React;
let counter = 0;
const createStore = () => {
const listeners = [];
const subscribe = (fn) => {
listeners.push(fn);
return () => {
listeners.splice(listeners.indexOf(fn), 1);
};
}
const dispatch = () => {
listeners.forEach(fn => fn());
};
return {dispatch, subscribe};
};
const store = createStore();
function Test() {
const …Run Code Online (Sandbox Code Playgroud)我运行了git update-ref -d HEAD命令,它删除了我所有的文件。文件夹大小仍然很大,所以,我想文件以某种方式在 git 的内存中。我怎样才能恢复这些文件?