我只想知道是否可以安全地从组件中删除反应组件道具。
是否有像
这样的功能this.destroyProps({someProp})
答案 0 :(得分:7)
不,你不能。反应组件的道具是immutable,不应该被组件更改。
如果您需要在本地处理数据,可以使用state of the component,或者更好地创建道具数据的本地副本。
答案 1 :(得分:1)
为什么不只是将已删除的道具解构,然后再使用其余的道具?
const {someProp, ...rest} = this.props;
return (
<ChildComponent {...rest} />
);
但是,实际上,这里的问题是,为什么要首先传入someProp
。
答案 2 :(得分:0)
如果将道具传递到子组件上,则可以创建一个新对象,从中删除属性,然后传递给子组件。
const childProps = { ...this.props };
delete childProps.someProp;
return (
<ChildComponent {...childProps} />
)