javascript - 尝试使用状态变量将字符串变为大写
问题描述
我不明白 react 中的这个 useState 是如何工作的。我只是想制作一个使用 .toUpperCase 更新标题的按钮,但它失败了。我不明白 >> const [Title, setTitle] = useState(title) << 这行应该是怎么回事。我尝试查看文档,但似乎无法掌握它。
import React, { useState } from 'react';
import ReactDOM from 'react-dom';
import './index.css';
const Unit = (props) =>{
return (
<div>
<p>Unit code = {props.unitcode}, Title = {props.title} </p>
</div>
)
}
const App = () => {
const unitcode = ['COMP1010', 'COMP1750']
const title = ['Fundamentals of Computer Science','Introduction to Business Information Systems']
const [Title, setTitle] = useState(title)
return (
<div>
<Unit unitcode = {unitcode[0]} title = {title[0]} />
<button onClick={() => setTitle(title.toUpperCase)}>
UP
</button>
<Unit unitcode = {unitcode[1]} title = {title[1]} />
</div>
)
}
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
)
解决方案
除了使用括号toUpperCase()
并在字符串而不是数组上调用它之外,这可能更接近您想要的:
const App = () => {
const unitcode = ["COMP1010", "COMP1750"];
const titles = [
"Fundamentals of Computer Science",
"Introduction to Business Information Systems"
];
const [titleOne, setTitleOne] = useState(titles[0]);
const [titleTwo, setTitleTwo] = useState(titles[1]);
return (
<div>
<Unit unitcode={unitcode[0]} title={titleOne} />
<button onClick={() => setTitleOne(titleOne.toUpperCase())}>UP</button>
<Unit unitcode={unitcode[1]} title={titleTwo} />
</div>
);
};
推荐阅读
- r - 替换行中的 na 值
- javascript - Nuxt - 无法删除事件监听器
- sql - 识别 11 位时间戳
- r - 如何在 url 的数据帧上循环 jsonlite 函数?
- node.js - TypeError:context.guild.members.has 不是函数(162:30)
- xml - 使用 XSLT 计算带有条件的 xml 中的记录
- node.js - tsc 无法识别“--init”选项
- reactjs - React 路由器和身份验证上下文
- c# - instagram enc_password 生成
- python - Fortran 95 中的“总线错误”和“munmap_chunk():无效指针”