React Transferring Props除了一个

Aug*_*ger 44 javascript reactjs

React建议转移道具.整齐!

我怎样才能转移除一个以外的所有人?

render: function(){
  return (<Cpnt {...this.propsButOne}><Subcpnt one={this.props.one} /></Cpnt>);
}
Run Code Online (Sandbox Code Playgroud)

vil*_*aka 111

您可以使用以下技术来使用一些道具并传递其余的道具:

render() {
  var {one, ...other} = this.props;
  return (
    <Cpnt {...other}>
      <Subcpnt one={one} />
    </Cpnt>
  );
}
Run Code Online (Sandbox Code Playgroud)

资源

  • 有这个问题,并没有解决它.错误消息:`模块构建失败:SyntaxError:意外的令牌(7:19)`并且错误消息突出显示代码中的扩展运算符.`var {linkType,... other} = this.props;` (4认同)
  • 如果您遇到 Module build failed: SyntaxError: Unexpected token,您可能需要添加 babel Rest spread 转换插件。请参阅https://babeljs.io/docs/plugins/transform-object-rest-spread/ (2认同)

Dan*_*gea 10

您需要做的是创建props对象的副本并删除您不想要的密钥.最简单的方法是使用omitfrom,lodash但你也可以为此编写一些代码(创建一个新的对象,其中包含除了一个之外的所有道具键).

省略(顶部有一些选项,取决于您导入的包/您使用的ES风格):

const omit = require('lodash.omit');
//const omit = require('lodash/omit');
//import { omit } from 'lodash';

...
render() {
    const newProps = omit(this.props, 'one');
    return <Cpnt {...newProps}><Subcpnt one={this.props.one} /></Cpnt>;
}
Run Code Online (Sandbox Code Playgroud)