反应转移道具,除了一个

新手上路,请多包涵

React 建议 Transfer Props 。整洁的!

除了一个以外,我怎样才能转移所有?

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

原文由 Augustin Riedinger 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 255
2 个回答

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

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

资源

原文由 villeaka 发布,翻译遵循 CC BY-SA 3.0 许可协议

您需要做的是创建 props 对象的副本并删除不需要的键。最简单的方法是使用 omit 来自 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>;
}

原文由 Dan Caragea 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题