我需要從兒童中刪除道具。反應 - 從兒童中刪除道具
我有一個容器元素,它使用它的孩子的屬性來對孩子進行一些增強。在渲染前應該將該屬性從小孩中移除。
<AsyncContainer>
<Button onClick={this.asyncStuff} asyncHandler="onClick"/>
</AsyncContainer>
應該在呈現之前從按鈕中刪除asyncHandler屬性。
AsyncContainer使用React.cloneElement(child, properties)
。
我已經嘗試nulling asyncHandler屬性,將其設置爲undefined並從child.props刪除屬性。似乎不可能再次擺脫這個屬性。
'props',因此不能由組件自身來改變。父母必須修改'prop',然後將其傳遞給組件。 – Dan
你不能對兒童道具做任何事情,因爲它們是隻讀的:https://facebook.github。io/react/docs/components-and-props.html#props-are-read-only –
也許你可以克隆孩子並以某種方式替換屬性對象? – AnAmuser