【问题标题】:Convert String type to slug type for sanity io将 String 类型转换为 slug 类型以实现 sanity io
【发布时间】:2021-05-14 05:52:33
【问题描述】:

我正在将来自外部 API 的数据导入到我的健全架构中,并且 API 包含字符串形式的 slug。我已经尝试删除字符串的双引号并将其设为单引号,但这仍然不被理智接受为 slug 类型。

那么如何将其转换为 slug 类型呢?

我目前正在使用的代码:

const slicedSlug = externalReport.slug.replace(/["]+/g, '');

【问题讨论】:

    标签: javascript reactjs sanity


    【解决方案1】:

    slug 是一个带有_type: 'slug' 的“对象”。如果您尝试将其添加为字符串,请尝试以下操作:

    const slug = {
        _type: 'slug',
        current: 'your-slug-without-quotes',
    };
    

    就我个人而言,我也会替换空格并制作所有小写字母,但这可能与您的情况无关。

    yourSlug.replace(/["]+/g, '').replace(/\s+/g, '-').toLowerCase();

    【讨论】:

    • 只需从字符串中删除引号。那会改变数据类型吗?上面的代码也足以删除引号吗?
    • 不,我相信你需要整个东西:{ _type: 'slug', current: 'your-slug-string-here' }
    • 你的代码替换了字符串,就好了。但我也可以用'-'替换空格。
    • 是的,我正在按照您指定的方式执行 {_type: } 操作,并且存储在 api 中的 slug 已经以“this-is-slug”的形式拥有它。但即使在单引号后它也是还是不接受:(
    • 我猜你需要 100+ 声望才能创建一个聊天室。如果有人为 SANITY 制作了一个,那就太好了,这样我们低代表的人就可以想出一个解决方案并更新这篇文章,'-)
    猜你喜欢
    • 1970-01-01
    • 2017-01-29
    • 2016-03-20
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多