React 克隆組件 -- React.cloneElement(可以用來修改子組件屬性值,復制子組件,添加子組件)


項目要求實現按鈕級權限,簡單來說就是需要通過后台數據綁定來控制前端頁面哪些操作按鈕需要渲染,哪些操作按鈕不需要渲染,

大體的方案是:

在原有的按鈕標簽外再套一層按鈕權限控制標簽,然后每個具體的按鈕對照后台給定的唯一值傳入到這個"按鈕權限控制"組件,然后在組件中判斷該按鈕該不該渲染,之中用到的一個技術點就是React.cloneElement,可以修改子元素的屬性值,下面一起了解一下React.cloneElement

 

React.cloneElement

參數:TYPE(ReactElement),[PROPS(object)] ,[CHILDREN(ReactElement)]

克隆並返回一個新的 ReactElement (內部子元素也會跟着克隆),新返回的元素會保留有舊元素的 props、ref、key,也會集成新的 props(只要在第二個參數中有定義),第三個參數為添加的新的子元素。

 

要注意的是,createElement 的第一個參數必須是字符串或 ReactClass,而在 cloneElement 里第一個參數應該是 ReactElement:

 

原文地址:https://zhirongyuan.github.io/blog/2017/03/10/Blog-entry-two.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM