Javascript [反应]如何将道具转换为字符串?
我想创建一个URL链接,但每次我尝试创建它时,它都会显示Javascript [反应]如何将道具转换为字符串?,javascript,json,reactjs,jsx,Javascript,Json,Reactjs,Jsx,我想创建一个URL链接,但每次我尝试创建它时,它都会显示[object]。如何将{trcode}转换为字符串 代码: function L_MovieList({title, poster, genres, synopsis,language,runtime,year,rating,likes,trcode}) { console.log(likes); console.log("here"+trcode) let url = JSON.stringify({trco
[object]
。如何将{trcode}
转换为字符串
代码:
function L_MovieList({title, poster, genres, synopsis,language,runtime,year,rating,likes,trcode}) {
console.log(likes);
console.log("here"+trcode)
let url = JSON.stringify({trcode});
let url_path = "http://www.youtube.com/watch?v="+{url};
return (
<div className="L_MovieList">
<a href={url_path}>예고편</a>
</div>
)
}
function L_MovieList({标题、海报、流派、概要、语言、运行时、年份、评级、喜欢、trcode}){
console.log(likes);
console.log(“此处”+trcode)
让url=JSON.stringify({trcode});
让url_路径=”http://www.youtube.com/watch?v=“+{url};
返回(
)
}
我认为函数定义不正确,应该如下所示
function L_MovieList(argListObject) {
let url = argListObject.trcode;
let url_path = "http://www.youtube.com/watch?v="+url;
return (
<div className="L_MovieList">
<a href={url_path}>예고편</a>
</div>
)
}
首先,如果
trcode
以[object]
开头,它将始终作为[object]
显示在控制台.log(“此处”+trcode)
语句中。因为在完成console.log()
之前,您不会对[object]
进行字符串化
其次,我怀疑JSON.stringify()
是否能实现您希望它实现的功能。你看,[object]
最简单的形式就是键值对的集合。当您对[对象]
进行字符串化时,它将创建整个对象的字符串表示形式,包括键和值。换句话说,如果这是您的trcode
对象:
{
"code" : "lB7p5xeiYpE"
}
然后从JSON.stringify(trcode)
返回的值将是如下所示的字符串:
{“code”:“lB7p5xeiYpE”}
如果您想在该对象中获取值,最好使用点表示法直接获取该值。所以你会有一行代码,看起来像这样:
让url\u路径=”http://www.youtube.com/watch?v=“+trcode.code代码>
最后,这一行代码:
让url\u路径=”http://www.youtube.com/watch?v=“+{url}代码>
将始终“断开”并显示一个[object]
追加到字符串末尾,因为您正在动态创建一个对象,然后将其连接到字符串末尾
出现此问题的原因是围绕url
的花括号。这样做的目的是创建一个全新的对象,其内容为url
。在上面的代码中,url
应该已经是一个字符串。这就是连接两个字符串的方式(请注意缺少花括号):
让url\u路径=”http://www.youtube.com/watch?v=“+url代码>JSON.stringify()是否为您工作?
{
"code" : "lB7p5xeiYpE"
}