方法参数:解构+保存原始参数(ReactJS组件)

时间:2016-11-24 16:07:42

标签: javascript reactjs ecmascript-6 destructuring

有没有办法实现方法参数解构,但也能够获取方法参数。

在具有无状态组件的React应用程序的上下文中,我希望能够替换

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

有没有可用的语法?

2 个答案:

答案 0 :(得分:2)

如果您将组件定义为function,则可以使用arguments对象:

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

答案 1 :(得分:0)

我们有这个:

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