sanity io 中的 schemaTypes

schemaTypes in sanity io

我在 Sanity io 的 schemaTypes 中遇到问题 所有细节都在下面提到 有什么问题可以问我

userSchema.js

    name:'abouts',
    title:'Abouts',
    type: 'document',
    fields:[
        {
            name:'title',
            title:'Title',
            type:'string'
        },
        {
            name:'description',
            title:'Description',
            type:'string'
        },
        {
            name:'imgUrl',
            title:'ImgUrl',
            type: 'image',
            options: {
              hotspot: true,
            },
        },

    ]
} 

schema.js

import createSchema from 'part:@sanity/base/schema-creator'
import schemaTypes from 'all:part:@sanity/base/schema-type'
import { userSchema } from './userSchema'

export default createSchema({
  
  name: 'default',
  types: schemaTypes.concat([userSchema]),
}) 

现在,schemaTypes 是一个对象,我们可以从“typeof”运算符中检查,我不明白我们如何使用 .concat() 与对象,如 .concat() 是一个数组函数,可以应用于数组,那么 schemaTypes.concat([userSchema]) 是如何正常工作的??

请帮我解决这个问题。 谢谢

在 JavaScript 你永远不会从 typeof 得到 'array'typeof 将 return 'object' 用于除函数(和原始 null)之外的任何 non-primitive。

我希望您正在寻找的是 Array.isArray() 方法。记录Array.isArray(schemaTypes)应该returntrue,意思是schemaTypes其实是一个数组,可以使用.concat()方法。