【发布时间】:2021-02-06 06:30:59
【问题描述】:
我想调用一个 ReactJS HOC 来围绕 JSX 包装一个工具提示。
调用应该是这样的:
withTooltip(JSX, "very nice")
为此我创建了这个函数:
import React from "react";
import MUITooltip from "@material-ui/core/Tooltip";
import useStyles from "./index.styles";
const withTooltip = (Component, text: string) => (props) => {
const classes = useStyles();
return (
<MUITooltip className={classes.root} title={text}>
<Component {...props} />
</MUITooltip>
);
};
export default withTooltip;
电话:
import withTooltip from "commons/withTooltip/withTooltip";
const dialogBtn =
isOk &&
withTooltip(
<div className={classes.buttonWithLoader}>
<OpenDialogButton
variant={BaseButtonVariant.Icon}
openDialogAttributes={areas.button.openDialogAttributes}
/>
</div>,
"Very nice",
);
return (
<Fragment>
{dialogBtn}
</Fragment>
);
上面写着:
函数作为 React 子级无效。如果您返回一个组件而不是从渲染中返回,则可能会发生这种情况。或者你可能是想调用这个函数而不是返回它
如何解决?
【问题讨论】:
标签: javascript reactjs jsx