- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚更新到 normalizr 版本 3.1.x,这样我就可以利用非规范化。尽管他们已经显着改变了他们的 API。我在传输架构时遇到问题。
import { normalize, Schema, arrayOf, valuesOf } from 'normalizr';
const usersSchema = new Schema('users')
const photosSchema = new Schema('photos')
const phonesSchema = new Schema('phones')
photosSchema.define({
users: arrayOf(usersSchema)
})
phonesSchema.define({
users: arrayOf(usersSchema)
})
usersSchema.define({
photos: valuesOf(photosSchema),
phones: valuesOf(phonesSchema)
})
这是我现有的用户架构。我还使用了redux-normalizr middleware在我的 redux 操作中,因此我将架构连接到我的操作,如下所示:
import { usersSchema } from '../normalizrSchemas/usersSchemas.js'
import { arrayOf } from 'normalizr'
export function getUsers(data) {
return {
type: 'GET_USERS',
payload: data,
meta: {
schema : arrayOf(usersSchema)
}
}
}
这是我第一次尝试转换架构。您似乎无法像使用 arrayOf 一样调用 schema.Array,因此我认为我需要将数组调用移至架构中。
import { schema } from 'normalizr';
const photos = new schema.Entity('photos')
const phones = new schema.Entity('phones')
const user = new schema.Entity('user', {
photos: [photos],
phones: [phones]
})
const users= new schema.Array('users', user)
export { users }
操作是相同的,但我已经删除了将架构包装在 arrayOf 中。所有用户数据都只是在没有任何标准化的情况下转储到结果中。数据是用户对象的列表,每个对象都包含一个 id,normalizr 应该拾取该 id。我正在努力弄清楚如何获得标准化,以识别它是我认为的对象数组。
最佳答案
schema.Array
不接受键字符串名称 ( docs )。第一个参数应该是模式定义。所以而不是
const users= new schema.Array('users', user)
您应该使用:
const users = new schema.Array(user)
或者,您可以只使用单个实体类型数组的简写:
const users = [ user ];
关于javascript - 将架构从 Normalizr v2 转换为 v3 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41747695/
我正在规范化一个一级嵌套批处理列表。第一级地段称为主人,嵌套的是奴隶。 // my schema const lot = new schema.Entity('lots'); const lots =
我有一个 API,它使用 fields 属性中的属性提供这样的数据。 { records: [ { id: "123", fields: { author: {
我有一个像这样的嵌套对象数组: var matchs = [ { id: 10689, sport: 'Tennis', players: [
我使用 normalzr 来标准化 Redux 存储中的数据。但是,我不知道如何在标准化数据上创建标准化索引。以下是我在不使用 Normalizr 的情况下解决该问题的方法: var postData
我如何转换一些json数组 [ { "travelExpenseId":11, "tripId":2, "paymentPurpose":"some paym
import { normalize, Schema, arrayOf } from 'normalizr'; var ListA = [ { id:1, te
我正在对从 Api 接收的数据使用 normalizr。当我收到列表时,我会按预期获得规范化实体。 但是当我发送更新一个实体的请求时,我只收到一个包裹在数据信封中的实体,它没有被 normalizr
我需要重组来自服务器 API 的数据以在我的客户端应用程序中使用,我开始了解 normalizr .如果可能,我正在尝试使用这个库。 数据结构如下。 { "history": [{
我需要规范化这些数据,以便我同时拥有一组列表和另一个待办事项。 const data = [ { _id: '1', title: 'List1', todos: [
对于多态模式,例如 Union在 Normalizr 中,对于模式定义和数据: const data = { owner: { id: 1, type: 'user', name: 'Anne' }
如果您有一个规范化的 redux 存储并为实体使用 id,但还有其他额外的唯一标识符并且也需要使用它们,您会怎么做。 例子 { entities: { users: {
我正在构建一个音乐播放器应用程序,并使用 REST API 从各个端点获取轨道(播放列表、特定用户发布的轨道等) 我正在使用 redux 和 normalizr 来管理我的状态。我创建了一个 trac
我知道我的问题的表述很奇怪,但我不知道如何正确表达。我想使用 Redux 的 normalizr 规范化我的数据。让我用代码陈述我的问题。 我有一个如下所示的 api 响应: [ { "n
comments : { byId : { "comment1" : { id : "comment1", author : "
我刚刚开始在 Redux 中使用 normalizr,我被困在我看来像一个简单的问题上,但我可能做错了。所以我想对这样的数组进行规范化: { articles: [ {id: 1, som
考虑传回的 User 对象: { "id": "123", "username": "TestUser", "group": { "id": "324",
我想用 normalizr 规范化我的数据.问题是我的数据中有一个键 (teams),它与其他数据没有关系。 例如: const data = { programs: [{ id:
我想规范化这种格式的数据: [ { id: 3, status: "active", created: "2017-07-03T15
我必须规范化来自服务器的两个响应,并使用 normalizr 将它们存储在我的商店中。第一个回复给了我章节,第二个回复给了我帖子。 版 block 有很多帖子。 一个帖子只能有一个部分。 第一 rea
在使用 Normalizr 后我有一个这样的数组: comments : { byId : { "comment1" : { i
我是一名优秀的程序员,十分优秀!