normalizr (paularmstrong/normalizr)
Searching Database…
这是干什么的?
Normalizr 是一个开源的 JavaScript 库,可以按照你定义的 schema 对嵌套的 JSON 做归一化处理:把一个层级很深的 API 响应交给它,它会返回一个扁平化、归一化后的结构。它通常用在 React、Redux 和 Flux 应用里。
那它是我添加到代码里的库,还是一种托管服务?
就是一个库,没什么复杂的:安装这个 npm 包,然后在你自己的代码里对 JSON 对象调用它就行——不涉及任何服务器或托管 API。
怎么把它加到项目里?
从 npm 安装(npm install normalizr),然后像其他 JavaScript 包一样导入使用。
它会带进来一大堆其他包吗?
不会——它没有任何运行时依赖,所以你打包进去的就是这么一个小小的库。
这个仓库已经归档了——在上面继续开发还靠谱吗?
它已正式停止维护:找不到愿意投入的维护者了。不过 README 里仍然写着,如果你需要它,放心用——它已经很长时间都停留在稳定版本上;要想修复问题或加新功能,就得自己 fork 一份了。
它是不是只能配合 React 或 Redux 用,还是哪儿都能用?
它是与框架无关的纯 JavaScript——React、Redux 和 Flux 只是它最常搭配的生态,并不是必需品。
它是用 TypeScript 写的吗?
不是——它是纯 JavaScript,类型检查用的是 Flow(仓库里带有 flow 和 flow:ci 脚本)。
What are similar projects?
immer, redux-form, zustand, nuqs, Recoil, PapaParse, redux-thunk, reselect
Which topics is it in?
flux, data-processing, schema, redux, no-dependencies, reactjs, state-management, npm-package, javascript-library, json, deprecated, react