我有一个从数组映射的字符串,并且使用了正则表达式来返回特定的文本。我希望此特定文本在呈现时具有不同的颜色。但是,当前的方法失败了,因为它不允许我仅使用纯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/