2016-11-24 12 views
5

Czy istnieje sposób na uzyskanie destrukcji parametrów metody, ale także możliwość pobrania parametru metody.Parametr metody: destructuring + zachowywanie oryginalnego parametru (komponent ReactJS)

W kontekście aplikacji reagować ze składnikami bezpaństwowców, chciałbym być w stanie zastąpić

const MyComponent = (props) => { 
    const {prop1, prop2} = props; 
    return (
    <div className={prop1 + '-' + prop2}> 
     <Child {...props}/> 
    </div> 
) 
} 

ze składnią bardziej zwięzły jak

const MyComponent = (props: {prop1, prop2}) (
    <div className={prop1 + '-' + prop2}> 
    <Child {...props}/> 
    </div> 
) 

Czy istnieje składni tak dostępny?

+0

taka składnia nie istnieje, według mojej wiedzy – naomik

Odpowiedz

0

mamy to:

const MyComponent = ({ prop1, prop2, ...rest }) (
    <div className={prop1 + '-' + prop2}> 
    <Child prop1={prop1} prop2={prop2} {...rest} /> 
    </div> 
) 
+0

@ z wolnej dusza, dziękuję za edycję, ale nie jest to bardziej zwięzłe niż początkowa implementacja i staje się mniej zwięzłe, jeśli zniszczę więcej parametrów. –

+0

Zgadza się, zgadzam się. –

2

Jeśli zdefiniować jako składnik function, można użyć arguments obiektu:

function MyComponent({ prop1, prop2 }) (
    <div className={prop1 + '-' + prop2}> 
    <Child {...arguments[0]}/> 
    </div> 
) 
+1

To fajny pomysł, ale czy nie ma czegoś bardziej idiomatycznego, co możemy zrobić? –

Powiązane problemy