我試圖使用通常用於Web的內部Javascript庫,其中包含數百萬行代碼(因此爲什麼我真的想使用它而不是更改其中的任何內容:D)使用React Native。如何將函數添加到ReactElement
這個庫有一些抽象的DOM操作,我試圖使用React Native進行抽象工作。
基本上,我們在網上做的是我們將HTML元素傳遞給庫,並且庫用其他元素填充它。稍後,該庫可能會從樹中刪除元素或添加一些元素,具體取決於我們要做的事情。 所以我希望能夠將這個庫傳遞給ReactElement,以便React Native自動處理繪圖部分。
這裏是圖書館做什麼,非常非常簡單:
function libraryCode(element) {
element.append(otherElement);
}
var element = document.createElementNS('div');
libraryCode(element);
return element;
這裏是想我能夠做到:
render() {
var element = React.createElement(Element);
libraryCode(element);
return element;
}
但ReactElement
沒有一個append
函數。所以我想知道是否有一種方法可以將函數添加到ReactElement中。這將允許我創建一個名爲append的函數,它將添加子元素並重新呈現元素。我試過了,顯然是隻讀的。我想擴展ReactElement類,但是如何告訴React使用我的類而不是ReactElement?
var elem = React.createElement(Element);
elem.append = function() {};
我也樂於接受新觀念,我很新的反應/本地做出反應,所以也許我會所有的錯這個! :)
感謝
是的,但我不能改變庫代碼不幸的 –
哦,你的意思是你的庫只能做'element.append'? – rclai
是的。 :/這就是爲什麼我想能夠傳遞一個ReactElement,我已經添加了一個append方法。 –