如何在React中链接标签

时间:2019-07-19 16:35:41

标签: reactjs linkify

我使用带有标签插件的linkify-react模块

import Linkify from 'linkifyjs/react';
import * as linkify from 'linkifyjs';
import hashtag from 'linkifyjs/plugins/hashtag';
hashtag(linkify);

我找不到任何解决方案可以让主题标签链接直接在jsx组件中工作,有可能吗?

   <Linkify options={linkifyOptions} >{content}</Linkify>

或者,我尝试使用插件。插件,我检索了内容中所有标签的数组

const pTag = linkify.find(p.content || '');

// here the output
{
  "type": "hashtag",
  "value": "#tag",
  "href": "#tag"
}

如何用文本中的链接替换所有主题标签?我已经尝试过这种解决方案,但是没有用

    pTag.forEach( (tag) => {
        content.replace(tag, 'example.com/'+tag);
    })

1 个答案:

答案 0 :(得分:1)

根据Linkify的文档,您可以使用formatHref属性向每个主题标签添加URL https://soapbox.github.io/linkifyjs/docs/options.html

var linkifyOptions = 
    {
        formatHref: function (href, type) {
          if (type === 'hashtag') {
            href = 'https://twitter.com/hashtag/' + href.substring(1);
          }
          return href;
        }
      }

var content = 'Linkify is #super #rad2015';
return <Linkify options={linkifyOptions}>{content}</Linkify>;

在此处签出完整代码

https://codesandbox.io/s/linkify-sxt8c?fontsize=14