我在 react 中遇到这个问题我有这个功能但它的 react 格式不正确
check(img) {
console.log(img,typeof img)
const url="";
const arrN = ["15","16","35","36","37","38","39","40","n15","n16","n35","n36","n37","n38","n39","n40"];
for (var i = 0; i < arrN.length; i++) {
if (img === arrN[i]) {
url = "/blah/allIcons/blah"+img+"_en.png";
}else{
url = "/blah/allIcons/blah"+img+".png";
}
}
return url;
}
它给我这个错误
Module build failed: SyntaxError: "url" is read-only
我该怎么做?
最佳答案
如果您更改 url
变量,则不应将其声明为常量。使用 let
:
check(img) {
const arrN = ["15", "16", "35", "36", "37", "38", "39", "40", "n15", "n16", "n35", "n36", "n37", "n38", "n39", "n40"];
let url = "";
for (var i = 0; i < arrN.length; i++) {
if (img === arrN[i]) {
url = "/blah/allIcons/blah" + img + "_en.png";
} else {
url = "/blah/allIcons/blah" + img + ".png";
}
}
return url;
}
但您似乎并不需要它,因为整个 for 循环检查似乎效率低下。可以这样优化:
check(img) {
const arrN = ["15", "16", "35", "36", "37", "38", "39", "40", "n15", "n16", "n35", "n36", "n37", "n38", "n39", "n40"];
if (arrN.indexOf(img) > -1) { // or if (arrN.includes(img)) {...}
return "/blah/allIcons/blah" + img + "_en.png";
}
return "/blah/allIcons/blah" + img + ".png";
}
关于javascript - reactjs 语法错误 : url is readonly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42136788/