3 回答

TA贡献2039条经验 获得超7个赞
听起来您想要一个可以在特定实现中选择性覆盖Parent的默认道具。deleteIcon你可以通过这样的编辑来做到这Parent一点:
deleteIcon = () => {
console.log("deleting the document");
}
export const Parent = (props) => {
const buttonOnClickHandler = props.deleteIcon || deleteIcon;
return (
<button onClick={() => {buttonOnClickHandler()}}
)
}
或者您可以使用默认参数:
deleteIconDefault = () => {
console.log("deleting the document");
}
export const Parent = ({
deleteIcon = deleteIconDefault
}) => {;
return (
<button onClick={() => {this.props.deleteIcon()}}
)
}
希望这会为您指明正确的方向!

TA贡献1883条经验 获得超3个赞
一些注意点:
onClick而不是
onclick
不需要在 props 中使用箭头函数,这可能会导致性能损失,这不是最佳实践
在组件中编写函数
Child
组件是在内部调用的组件Parent
,您将其设置为相反的
尝试文本演示:
const Parent = () => {
const deleteIcon = () => {
console.log("deleting the document");
};
return <Child deleteIcon={deleteIcon} />;
};
const Child = props => {
return <button onClick={props.deleteIcon}>XXX</button>;
};
ReactDOM.render(<Parent />, document.getElementById("root"));
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.12.0/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.12.0/umd/react-dom.production.min.js"></script>
添加回答
举报