我一直在使用 React 并希望在 React 中使用 Polymer 标签。React 不识别 Polymer 标签,因为 React 只处理基本的 DOM 标签。有没有办法将 Polymer 标签添加到 React DOM 库?
是否可以在 React 中使用 Polymer?
IT技术
html
polymer
reactjs
2021-05-16 14:17:25
4个回答
对的,这是可能的。
创建聚合物元素。
<link rel="import" href="../../bower_components/polymer/polymer.html">
Polymer({ is: 'calender-element', ready: function(){ this.textContent = "I am a calender"; } });
通过在 html 页面中导入聚合物组件,使其成为 html 标签。例如,将它导入到您的 React 应用程序的 index.html 中。
<link rel="import" href="./src/polymer-components/calender-element.html">
在 jsx 文件中使用该元素。
'use strict'; import React from 'react'; class MyComponent extends React.Component{ render(){ return ( <calender-element></calender-element> ); } } export default MyComponent;
是否可以在 React 中使用 Polymer?
简短的回答:不是。
长答案:有点。您必须创建直接创建节点和操作属性的组件。对于元素的子元素等,还有其他考虑因素。
是否可以在 Polymer 内部使用 React?
这种方式的答案几乎相同,您必须将 React 组件包装在聚合物元素中。
为什么?
Polymer(基于 Web 组件)和 React(一个 ui 组件库)都基于“组件”。因为在 web 中没有单一的方式来表达一个组件,所以你需要在各种库之间架起桥梁。这同样适用于关于“以角度react”、“react中的 jquery 插件”、“jquery 插件中的淘汰赛”、“在主干中react”、“与使用主干的聚合物元素并与使用角度的聚合物元素react的角度”的问题, 等等。
在 angular withpolymer 之类的情况下,您可能会认为它非常简单,但 Polymer 不知道评估 angular 表达式或任何类型的声明性回调。几乎在每种情况下你都需要一座桥,而且它们从来都不漂亮。
这是一个相当古老的问题,但https://www.npmjs.com/package/react-polymer怎么样?这不是react聚合物组分的支持吗?
import reactPolymer from 'react-polymer'; //IMPORTANT: Must be imported before React.
import React from 'react';
reactPolymer.registerAttribute('raised');
reactPolymer.registerAttribute('url');
reactPolymer.registerEvent('response', 'onResponse');
<paper-button raised>another button</paper-button>
<iron-ajax url="http://example.com/" onResponse={this.handleResponse} />