Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >React中真正的自定义属性(例如微数据)

React中真正的自定义属性(例如微数据)
EN

Stack Overflow用户
提问于 2014-02-08 16:09:41
回答 3查看 14.1K关注 0票数 22

我正在开发的网站使用微数据(使用schema.org)。当我们将开发转移到使用React来呈现我们的视图时,我遇到了一个障碍,React只会呈现HTML规范中的属性,但是Microdata指定了自定义属性,比如itemscope

由于我是相对较新的反应,还没有机会完全了解核心,我的问题是,什么是最好的方式来扩展react.js的功能,以允许定义自定义属性,例如,微数据?

有没有一种方法可以扩展属性/ props解析器,或者它是一种混入的工作,可以检查所有传递的props并直接修改DOM元素?

(希望我们能够为每个人提供扩展,以便在解决方案明确时提供支持。)

EN

回答 3

Stack Overflow用户

发布于 2014-11-25 20:21:40

看起来这些非标准属性已经添加到React中了

代码语言:javascript
运行
AI代码解释
复制
itemProp: MUST_USE_ATTRIBUTE, // Microdata: http://schema.org/docs/gs.html
itemScope: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE, // Microdata: http://schema.org/docs/gs.html
itemType: MUST_USE_ATTRIBUTE, // Microdata: http://schema.org/docs/gs.html

请注意,属性中间有大写字母:

代码语言:javascript
运行
AI代码解释
复制
<div itemProp="whatever..." itemScope itemType="http://schema.org/Offer">

将生成适当的小写属性作为结果。

票数 13
EN

Stack Overflow用户

发布于 2015-08-25 23:42:14

对于那些仍在寻找答案的人:https://facebook.github.io/react/docs/tags-and-attributes.html

示例:

代码语言:javascript
运行
AI代码解释
复制
<div itemScope itemType="http://schema.org/Article"></div>
票数 5
EN

Stack Overflow用户

发布于 2017-07-25 19:21:32

到目前为止,我找到的最好的方法是基于react的bug跟踪器线程上的a comment链接的some Amp interop code。我对其稍作修改,以便与较新版本的React (15.5.4)和TypeScript配合使用。

对于常规ES6,您只需删除attributeName的类型注释即可。因为DOMProperty没有在react的index.d.ts中公开,所以在TS中需要使用require,但同样,import也可以在常规ES6中使用。

代码语言:javascript
运行
AI代码解释
复制
// tslint:disable-next-line:no-var-requires
const DOMProperty = require("react-dom/lib/DOMProperty");
if (typeof DOMProperty.properties.zz === "undefined") {
    DOMProperty.injection.injectDOMPropertyConfig({
        Properties: { zz: DOMProperty.MUST_USE_ATTRIBUTE },
        isCustomAttribute: (attributeName: string) => attributeName.startsWith("zz-")
    });
}

现在您可以使用任何以zz开头的属性-

代码语言:javascript
运行
AI代码解释
复制
<div zz-context="foo" />

通常情况下,像这样使用react的内部部分不是一个好主意,但我认为它比其他任何方法都要好。它的工作方式与现有的开放式属性(如data)相同-而且JSX在TS中甚至是类型安全的。我相信react的下一个主要版本无论如何都会取消白名单,所以希望在我们完全删除这个填充程序之前不需要进行任何更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21648347

复制
相关文章
RecyclerView定制:通用ItemDecoration及全展开RecyclerView的实现不同场景RecyclerView实现
Android L面世之后,Google就推荐在开发项目中使用RecyclerView来取代ListView,因为RecyclerView的灵活性跟性能都要比ListView更强,但是,带来的问题也不少,比如:列表分割线都要开发者自己控制,再者,RecyclerView的测量与布局的逻辑都委托给了自己LayoutManager来处理,如果需要对RecyclerView进行改造,相应的也要对其LayoutManager进行定制。本文主要就以以下场景给出RecyclerView使用参考: RecyclerVie
看书的小蜗牛
2018/06/29
2.6K0
【RecyclerView】 九、为 RecyclerView 设置不同的布局样式
① 自定义 RecyclerView.Adapter 泛型类型 : 适配器的泛型类型需要设置为 RecyclerView.ViewHolder , 这是所有 ViewHolder 的基类 ;
韩曙亮
2023/03/28
9740
【RecyclerView】 九、为 RecyclerView 设置不同的布局样式
git为不同的项目设置不同的邮箱
在我们使用Git开发项目的时候,可能经常会碰到个人和公司开发的项目都在一台机器上的情况。不管你们有没有,反正我是碰到了。因为公司有公司自己分配的邮箱,而我自己喜欢用自己的邮箱开发自己的项目。这样可能会导致邮箱混用的情况。
魔王卷子
2019/05/31
1.4K0
为matplotlib设置不同的主题
所谓主题,其实就是一套样式规则,对背景色,坐标轴,标题等图形基本元素的样式进行设定。R语言的ggplot2中,通过theme来指定图片主题,既可以采用系统自带的主题,也可以自定义其中的各个元素。
生信修炼手册
2020/09/04
2K0
为matplotlib设置不同的主题
DAO 的类型 - 不同的 DAO 项目
在我之前的文章中,我们讨论了 DAO 的标准结构——治理、代币经济学和智能合约;DAO 是什么,它如何运作,以及它为生态系统和自治社区提供的解决方案。
飞机号dapp119
2023/01/11
1K0
DAO 的类型 - 不同的 DAO 项目
【RecyclerView】 六、RecyclerView.ItemDecoration 条目装饰 ( 简介 | onDraw | onDrawOver | getItemOffsets )
RecyclerView.ItemDecoration 是 RecyclerView 的内部类 , ItemDecoration 顾名思义就是作为 Item 条目装饰用的 ;
韩曙亮
2023/03/28
6340
【RecyclerView】 八、RecyclerView.ItemDecoration 条目装饰 ( onDraw 和 onDrawOver 绘制要点 )
onDraw 和 onDrawOver 方法原理类似 , 都是基于 Canvas 进行绘制 , 这个 Canvas 的画布大小与 RecyclerView 大小相同 , 这里要注意 , 每一次绘制时 , 都要先获取要绘制的 item 组件对应的坐标 ;
韩曙亮
2023/03/28
1.4K0
【RecyclerView】 八、RecyclerView.ItemDecoration 条目装饰 ( onDraw 和 onDrawOver 绘制要点 )
【RecyclerView】 七、RecyclerView.ItemDecoration 条目装饰 ( getItemOffsets 边距设置 )
RecyclerView.ItemDecoration 是抽象类 , 当前使用的 onDraw , onDrawOver , getItemOffsets
韩曙亮
2023/03/28
5.7K0
【RecyclerView】 七、RecyclerView.ItemDecoration 条目装饰 ( getItemOffsets 边距设置 )
Git合并不同url的项目
摘要:为了让项目能实现Git+Gerrit+Jenkin的持续集成,我们把项目从Git上迁移到了Gerrit上,发现有的同事在老Git提交代码,因为Gerrit做了同步,在Gerrit上有新提交的时候就会刷新老git,这样就会把他提交的代码冲掉。这个时候我就必须要在两个相似项目之间合并提交了。
机智的程序员小熊
2019/01/21
2.4K0
Git合并不同url的项目
Recoverit为不同的数据丢失情况分别制定了不同的数据恢复方式
但误删文件也是一项难以避免的事情,遇到这种情况最好的办法就是进行数据恢复,市面上有不少数据恢复软件,今天就推荐一款国产的数据恢复软件。
李才哥
2019/07/10
1.1K0
Recoverit为不同的数据丢失情况分别制定了不同的数据恢复方式
Nginx为多个不同的静态资源配置不同的二级域名
有多个域名: dog.aimiter.com cat .aimiter.com … 需要映射到不同的静态资源目录: /var/www/html/dog /var/www/html/cat
Spaceack
2020/11/04
2.8K0
Nginx为多个不同的静态资源配置不同的二级域名
不同的网络下下载不同的图片
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/53285158
用户1451823
2018/09/13
1K0
不同的GSE数据集有不同的临床信息,不同的分组技巧
Jimmy大神怎么说过,只有多做、多错,才能真正的掌握。所以下面通过几个实战来说明。
生信技能树
2019/11/11
9.4K0
教你玩转 Android RecyclerView:深入解析 RecyclerView.ItemDecoration类(含实例讲解)
注意点1:Itemdecoration的onDraw()绘制会先于ItemView的onDraw()绘制,所以如果在Itemdecoration的onDraw()中绘制的内容在ItemView边界内,就会被ItemView遮挡住。如下图:
Carson.Ho
2019/02/22
2K0
RecyclerView探索之通过ItemDecoration实现StickyHeader效果
我在上一篇《小甜点,RecyclerView 之 ItemDecoration 讲解及高级特性实践 》 讲解了 ItemDecoration 的基本用法及它的一些实践,抱着学习研究的态度,这一篇作为实践篇主要目的是尝试通过 ItemDecoration 来实现 RecyclerView 中的 StickyHeader 功能。
Frank909
2019/01/14
1.3K0
jenkins给不同的用户分配不同的任务
系统管理——》全局安全配置 ——》授权策略 ——》选择 Role-Based Strategy
dogfei
2020/07/31
2.1K0
word 2007 不同章节插入不同样式的页码,不同的页眉
关键是需要插入“分节符” 在两章之间插入“下一页”,就可以把两章独立开。然后就可以独立的设置页码和页眉了。 (如果已经写好了全部内容再插入“下一页”,那么会在下一页的第一行出现一行空行,这时候可以按一
用户1258909
2018/07/04
1.2K0
uniapp根据不同的状态渲染不同的标签
<view class="text-grey text-xs"> <button v-if="item.isLeave === 0">离厂解绑</button> <span v-else > {{item.leaveTime | formatDate }} </span> </view> json数据 { "msg": "查询成功", "total": 15, "c
王小婷
2021/07/08
1.6K0
不同的strcmp
该文介绍了在Android和iOS系统中所使用的strcmp函数的实现细节和差异。首先介绍了Android中strcmp的实现,然后说明了iOS中strcmp的实现。这两个实现的主要区别在于:1)对于字符串结束标志的处理方式不同;2)对于指针比较操作的方式不同。在Android中,以0作为字符串结束标志,在iOS中,以'\0'作为字符串结束标志。此外,在Android中,比较操作符为“!=”,在iOS中为“<”。
梦里茶
2017/12/29
1K0
点击加载更多

相似问题

RecyclerView in RecyclerView: ItemDecoration

10

RecyclerView ItemDecoration

16

RecyclerView ItemDecoration onDraw

12

更改每个项目的RecyclerView.ItemDecoration颜色

32

如何实现特定的RecyclerView ItemDecoration

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档