React JS Typescript usestate 与布尔值
Posted
技术标签:
【中文标题】React JS Typescript usestate 与布尔值【英文标题】:React JS Typescript usestate with boolean 【发布时间】:2021-07-17 23:23:59 【问题描述】:我一直在处理这个问题,但我不明白这个错误,所以看看这个我有这行:
function App()
const [ isLogged, setIsLogged ] = React.useState<boolean>(false);
const changedLogging = () =>
setIsLogged( !isLogged );
return (
<div className="App">
!isLogged? <Login changedLogging= changedLogging />
:
<div>
<Header changedLogging= changedLogging />
<Profile />
</div>
</div>
);
login.tsx
const OnSubmit = ( event: React.FormEvent<htmlFormElement> ) =>
event.preventDefault();
props.changedLogging;
header.tsx
<Button
...
key: 'out',
color: "inherit",
to: props.changedLogging,
component: RouterLink,
className: menuButton,
>
Out
</Button>
当它运行时显示此错误: 期望一个赋值或函数调用,而是看到一个表达式@typescript-eslint/no-unused-expressions
你知道为什么吗???
我正在尝试使用文件 .tsx 创建一个简单的登录,变量 isLogged 用于控制一个简单的登录。因此,当用户记录变量 isLogged 更改为 true 并且用户退出时,变量为 false
谢谢!
【问题讨论】:
【参考方案1】:你可以这样添加:
const [ isLogged, setIsLogged ] = React.useState<boolean>(false);
错误在于调用函数。
你需要这样称呼它。
props.changedLogging();
【讨论】:
错误还在显示,,, 错误在 setIsLogged( !isLogged ); 能否请您说明您从何处以及如何调用changedLogging
函数?
在这里,您将函数作为道具传递。请添加调用函数的代码。
准备好了!...所以你认为错误是 props.changedLogging ????
对...错误在 props.changedLogging
中。你需要像props.changedLogging()
这样调用这个函数。以上是关于React JS Typescript usestate 与布尔值的主要内容,如果未能解决你的问题,请参考以下文章
React Typescript 泛型类型重载(例如 useState)
如何使用 useState 在点击时显示/隐藏移动导航栏? React + TypeScript + Tailwind 项目
如何使用 Typescript 和 useState 将类型对象设置为 React 的初始值?
如何在 React 中正确使用 useState 钩子和 typescript?
如何使用 usestate 和 setstate 而不是 this.setState 使用 react 和 typescript?