Je veux cloner/étendre un React composant (sans savoir si elle est statefull ou apatride) et le transmettre props:React composant clone (sans état ou stateful) pour passer des accessoires supplémentaires
const Foo = (props) => {
return (
<div>foo</div>
);
}
class Bar extends React.Component {
render() {
return (
<div>bar</div>
)
}
}
Le problème est, ces deux variables Foo
et Bar
doivent être traités différemment:
const FooExtended = (props, context) => {
return Foo(_.extend(props, additionalProps), context);
}
class BarExtended extends Bar {
constructor(props, context) {
super(_.extend(props, additionalProps), context);
}
}
et il n'y a aucun moyen simple de savoir si une Component
variables est Stateless ou Statefull sans faire aki toString
tests regex.
React.cloneElement/createElement
échoue sur ces me donner l'erreur suivante:
React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object. You likely forgot to export your component from the file it's defined in.
est donc là un moyen simple que je peux le faire cloneComponent(originalComponent, additionalProps)
?
https://shripadk.github.io/react/docs/clone-with-props.html check this out –
@SterlingArcher Cette API est obsolète et 'React.cloneElement' me donne l'erreur que j'ai posté dans la question – Kousha