2017-07-25 4 views
0

スプレッド演算子でクローン化された要素に新しい小道具を追加リアクトは、私は、コンテナとても似てい

ので、私はこれを試しました:

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}); 
}; 

cloneElementで、それはspread syntaxとして働きながら、上記の例では...restrest parameters syntaxなどのコンポーネント関数定義の行為に使用されることに注意してください。

関連する問題