Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 混合react prop和href html标记_Javascript_Reactjs - Fatal编程技术网

Javascript 混合react prop和href html标记

Javascript 混合react prop和href html标记,javascript,reactjs,Javascript,Reactjs,我是react.js和JavaScript的新手。我必须在href标签中传递两个电话号码- phoneListHTML={[ "<a href='tel:{phoneNumber}'>{phoneNumber}</a>".replace('{phoneNumber}', support.expPhone), "<a href='tel:{phoneNumber}'>{phoneNumber}<

我是react.js和JavaScript的新手。我必须在href标签中传递两个电话号码-

phoneListHTML={[
                "<a href='tel:{phoneNumber}'>{phoneNumber}</a>".replace('{phoneNumber}', support.expPhone),
                "<a href='tel:{phoneNumber}'>{phoneNumber}</a>".replace('{phoneNumber}', support.expPhoneInternational),
                ]}
phoneListHTML={[
“”.replace(“{phoneNumber}”,support.expPhone),
“”.replace(“{phoneNumber}”,support.expPhoneInternational),
]}

“超链接文本”未被替换,但实际的“超链接点击文本”被替换

改用正则表达式,它允许使用
g
标志进行全局替换(所有出现)

所以

phoneListHTML={[
“”.replace(/{phoneNumber}/g,support.expPhone),
“”.replace(/{phoneNumber}/g,support.expPhoneInternational),
]}
或者,您可以使用模板文本

phoneListHTML={[
``),
``),
]}

理想情况下,您不应该像那样传递原始HTML。您应该传递包含数据的对象/数组,并允许组件基于该数据呈现HTML

//支持信息
const support={电话:'123',国际:'+44 123'};
//呈现应用程序组件
//作为道具传入支撑对象
ReactDOM.render(

); }


如果看不到其余(相关)代码,就很难理解为什么要这样做。为什么不
map
覆盖React中的数据以生成正确的呈现HTML?我将此作为参数传递给React组件@这很有帮助。@Prakar这个html在哪里使用?如果它将显示在浏览器中,您可能会更好地使用实际组件
,这是用于浏览器的,但我正在将原始HTML传递给旧组件-phoneListHTML需要HTML标记(电话数组),当我将上面的类似项放在不带倒逗号的位置时,它会显示[object,object]。我明白了,添加了另一种方法(使用模板文本)。此外,您可能希望最终重构该组件,使其在不需要html的情况下工作。。