【发布时间】:2020-12-12 15:47:13
【问题描述】:
我有一个包含指向子路由的链接的 React 应用程序,我使用子域/路径来填充每个详细信息页面上的道具。
换句话说,当用户导航到一个页面时,我使用pathname 来填充页面标题和内容等内容。其中一个页面/路线包含一个名称/标题,该名称/标题通常用骆驼大写字母(“SoCal”)编写,因此我使用以下代码,其中包含一个三元运算符,确定是否location = "socal",如果是,我想要@ 987654323@ 变量设置为“SoCal”,这样当我使用<h1>{location}</h1> 填充页面标题时,它就会正确显示。
问题在于,当我使用三元运算符时,它总是将位置设置为 SoCal,即使 location 的原始值是德克萨斯(例如)。好像我做错了什么,但看不到是什么。
var location = titleCase(window.location.pathname.replace("/", ""));
function detailPage() {
const [filter] = useState(location.toLowerCase());
location = "socal" ? location = "SoCal" : location;
console.log(location)
请注意,在上面的示例中,我使用 = 而不是您所期望的 ===,因为当我使用 === 时,代码会中断并返回错误消息:
“期望一个赋值或函数调用,但看到一个 表达。 (no-unused-expressions)"
关于我做错了什么有什么想法吗?
【问题讨论】:
标签: javascript reactjs conditional-operator