其他常用中间件

Zustand支持中间件,编写自定义的中间件也十分的方便,只需要仿照以下示例中的样式编写即可。

const logTrace = config => (set, get, api) =>
  config(
    (...args) => {
      console.log('Before applying: ', args);
      set(...args);
      console.log('After applying: ', get());
    },
    get,
    api
  );
const useGearBox = create(
  logDebug(set => ({
    currentGear: 0
  }))
);

根据以上示例中所示的中间件的书写以及定义方法可以看出,Zustand在创建中间件的时候,可以同时嵌套使用多个中间件函数,这些中间件函数将根据调用的次序不同,形成类似于洋葱皮一样顺序包裹的先入后出的结构。

Zustand默认提供了一些用于满足常见应用操作需求的中间件,以下将列举一些常用的。