javascript - instalar - react js tutorial
¿Cómo pasar todos los demás props para reaccionar de clase? (2)
Digamos que tengo 3 accesorios que mi componente basado en clase requiere e implementa, es decir
<Component propOne={this.props.one} propTwo={this.props.two}>
{this.props.children}
</Component>
¿Cómo transmitiría otros accesorios que originalmente no esperaba, pero decir que alguien más que use mi componente querría usarlo?
yo estaba pensando
<Component propOne={this.props.one} propTwo={this.props.two} {...this.props} >
{this.props.children}
</Component>
Pero estoy preocupado por la duplicación de prop
¿Filtrarlos?
function without(props, keys) {
return Object.keys(props)
.filter((key) => keys.indexOf(key) !== -1)
.reduce((retVal, key) => {
retVal[key] = props[key];
}, {});
}
<Component propOne={this.props.one} propTwo={this.props.two} {...without(this.props, [''one'', ''two''])} >
{this.props.children}
</Component>
Usa el operador de propagación
let {propOne, propTwo, ...leftOver} = this.props;
// `leftOver` contains everything except `propOne` and `propTwo`
Entonces tu ejemplo sería:
const {propOne, propTwo, children, ...props} = this.props;
<Component propOne={propOne} propTwo={propTwo} {...props}>
{children}
</Component>