2017-07-25 65 views
0

我有一個容器,像這樣:陣營增添新道具克隆的元素與傳播運營商

const ReactContainer = ({ children, ...rest }) => React.cloneElement(children, rest); 

現在,我想新的道具添加 - countflag - 克隆的元素:

所以我試過這個:

const ReactContainer = ({ children, ...rest }) => { 
    const count = 0; 
    const flag = false; 

    return React.cloneElement(children, {count, flag}, rest); 
}; 

但是這不起作用,我試過其他變化。我如何將這些新的道具添加到克隆的元素中,以簡化傳播操作符?

回答

3

請試試這個:

const ReactContainer = ({ children, ...rest }) => { 
    const count = 0; 
    const flag = false; 

    return React.cloneElement(children, {...rest, count, flag}); 
}; 

請注意,例如...rest的組件函數定義的行爲作爲rest parameters syntaxcloneElement它作爲spread syntax以上。