1

使用,我需要将我的字符串输出为 JSX,但将所有>html-react-parser替换为 将包含. 换句话说,我将我的 A 链接包装在 LinkContainer 标记中。<a href=...<LinkContainer to={href}><a>..</a></LinkContainer><a>

问题是,我不知道如何表达我要替换的 A-tag 的内部文本,必须包括在内:

parse(successMessage, { 
        replace: domNode => {
            if (domNode.attribs && domNode.attribs.href) {
                return <LinkContainer to={domNode.attribs.href}><a href="#">How to get the Inner Text?</a></LinkContainer>;
            }  
        }}
    );

没有什么像innerTexttext不可用。来到我这里的 DOM 节点是

  • A标签本身
  • 它的子节点,即内部文本,一个单独的节点
4

1 回答 1

1

我找到了解决方案。您可以只替换 A 标记并从中获取链接的文本domNode.children[0].data

    parse(successMessage, { 
            replace: domNode => {
                if (domNode.attribs && domNode.attribs.href) {
                    return <LinkContainer to={domNode.attribs.href}><a href="#">{domNode.children[0].data}</a></LinkContainer>;
                }  
            }}
        )
于 2021-07-23T19:31:52.943 回答