相关疑难解决方法(0)

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

我正在开发的网站使用Microdata(使用schema.org).当我们将开发转移到使用React来渲染我们的视图时,我遇到了一个阻止程序,其中React只会在HTML规范中呈现属性,但Microdata指定了自定义属性,例如itemscope.

由于我是比较新的反应,还没有机会充分了解的核心,只是还没有,我的问题是什么将是扩展react.js的功能,允许自定义特性,例如,微观数据的最佳方式?

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

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

javascript microdata reactjs react-jsx

18
推荐指数
4
解决办法
1万
查看次数

如何在TypeScript/JSX中向现有HTML元素添加属性?

任何人都知道如何正确添加/扩展自定义的HTML元素属性?

使用TypeScript文档来合并接口,我想我可以这样做:

interface HTMLElement {
    block?: BEM.Block;
    element?: BEM.Element;
    modifiers?: BEM.Modifiers;
}

<div block="foo" />; // error
Run Code Online (Sandbox Code Playgroud)

但我在vscode 1.6.1(最新)中收到以下Intellisense错误:

[ts]'HTMLProps'类型中不存在属性'block'.

HTMLProps它们指是React.HTMLProps<T>div元素被声明为使用它像这样:

namespace JSX {
    interface IntrinsicElements {
        div: React.HTMLProps<HTMLDivElement>
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图重新宣布div,但无济于事.

相关:https://github.com/Microsoft/TypeScript/issues/11684

编辑:以下是最终为我工作的内容:

declare module 'react' {
    interface HTMLAttributes<T> extends DOMAttributes<T> {
        block?: string
        element?: string
        modifiers?: Modifiers // <-- custom interface
    }
}
Run Code Online (Sandbox Code Playgroud)

jsx typescript

16
推荐指数
2
解决办法
9339
查看次数

如何使用 React + Typescript 嵌入 YouTube iframe?

打字稿似乎在这里对我不利。这是我想要嵌入的内容:

<iframe 
    width="560" 
    height="315" 
    src="https://www.youtube.com/embed/BLAH?showinfo=0" 
    frameBorder="0" 
    allow="autoplay; encrypted-media" 
    allowFullScreen></iframe>
Run Code Online (Sandbox Code Playgroud)

问题是allow属性:

TS2339: Property 'allow' does not exist on type 'DetailedHTMLProps<IframeHTMLAttributes<HTMLIFrameElement>, HTMLIFrameElement>'.
Run Code Online (Sandbox Code Playgroud)

...这是真的,它不在 index.d.ts 中。如何强制添加此属性,或以某种方式强制转换iframe为任何类型等?

youtube typescript reactjs

6
推荐指数
1
解决办法
1755
查看次数

为 Selenium 测试的 React 组件生成 id

我想id为网站中的几乎每个元素生成 ,以便更轻松地处理 Selenium 测试的元素。这是一个好方法吗?我的应用程序发生了很大变化。

我似乎无法将idHTML 属性添加到 React 组件,因为 React 将其解释为 props,例如

<NewEl id='test'/>
Run Code Online (Sandbox Code Playgroud)

...并NewEl获取id道具而不是属性。有时我无法访问React组件,因为我使用了第三方组件。

我应该如何更改该id属性?我的方法是一个好的解决方案吗?

javascript selenium reactjs react-redux

5
推荐指数
0
解决办法
2557
查看次数

如何更改react组件中的reactid后缀

如何将data-reactid属性更改为我的自定义属性,如data-hello="world"在react中?

<a data-reactid="......" ></a>
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

0
推荐指数
1
解决办法
464
查看次数