我有一个从数组映射的字符串,并且使用了正则表达式来返回特定的文本。我希望此特定文本在呈现时具有不同的颜色。但是,当前的方法失败了,因为它不允许我仅使用纯JavaScript设置字符串的样式。有没有办法解决此问题,以便替换可以将新文本用作其他颜色。

理想情况下,最终结果将如下所示

@user This is text


其中@user为蓝色,其余为黑色

{this.state.dataReplies.map((n, i) => {
            var re = /@(\S+)\b/g;
            let oldstr = n.description.match(re);
            console.log(oldstr);
            let newstr = oldstr.style.colour = "#0066ff";
            let str = n.description.replace(oldstr, newstr);
    return (
      <p>{str}</p>
    );
})}

最佳答案

感谢@ Jayce444提供解决方案:

{this.state.dataReplies.map((n, i) => {
            var re = /@(\S+)\b/g;
            let oldstr = n.description.match(re);
            let str = n.description.replace(oldstr, "");
    return (
      <p> <span style={{color: "#0066ff"}}>{oldstr}</span> {str}</p>
    );
})}

关于javascript - 在ReactJS中如何用另一个和不同的颜色替换一个字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59620707/

10-12 13:46