2016-11-24 33 views
5

有什麼辦法可以實現方法參數解構,還可以獲取方法參數。方法參數:解構+保留原始參數(ReactJS組件)

與無狀態組件的應用程序作出反應的情況下,我希望能夠用更簡潔的語法來代替

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

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

是否有任何語法一樣,可用?

+0

這樣的語法不存在,據我所知 – naomik

回答

0

,我們有這樣的:

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

@自由靈魂,感謝編輯,但它並不比最初的實現更簡潔,並且如果我解構更多參數 –

+0

那就沒有那麼簡潔了,我同意這一點。 –

2

如果你定義組件爲function,你可以使用arguments對象:

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

這是一個不錯的主意,但是我們可以做更多的地方嗎? –