我正在尝试使用 React Hooks 在 slate 上设置工具栏。好像出了什么问题,我不知道是什么。这是我的代码:
const renderMark = (props, editor, next) => {
const { children, mark, attributes } = props
switch (mark.type) {
case "bold":
return <strong {...attributes}>{children}</strong>
case "italic":
return <i {...attributes}>{children}</i>
case "underline":
return <u {...attributes}>{children}</u>
default:
return next()
}
}
const onClickMark = (event, type, editor) => {
event.preventDefault()
editor.toggleMark(type)
}
<>
<Toolbar>
<Button onPointerDown={event => onClickMark(event, "bold")}>
<BoldIcon />
</Button>
<Button onPointerDown={event => onClickMark(event, "italic")}>
<ItalicIcon />
</Button>
<Button onPointerDown={event => onClickMark(event, "underline")}>
<UnderlineIcon />
</Button>
</Toolbar>
<Editor
onChange={handleChange}
onKeyDown={onKeyDown}
renderMark={renderMark}
renderNode={renderNode}
value={value}
/>
</>
知道为什么这不起作用吗?