Rob*_*ell 1 javascript reactjs react-hooks
在我的 useState 钩子中,我正在导入上下文;因此, setUser 将不再使用并给我和 Eslinting 警告。我不确定如何扼杀这个警告,并且为此没有任何想法。如果有人在 React 中提出建议或最佳实践来抑制此警告,我将不胜感激。代码如下:
import React, { useContext } from 'react'
import { Link } from 'react-router-dom'
// Material UI
import Button from '@material-ui/core/Button'
import Grid from '@material-ui/core/Grid'
import Container from '@material-ui/core/Container'
import User from './User'
// context
import { ProfileContext } from '../contexts/ProfileContext'
const Header = ({ isAuth, logout }) => {
const [user, setUser] = useContext(ProfileContext)
return (
<Container maxWidth="lg" style={{ padding: 10 }}>
<Grid container justify="space-between">
<Grid item xs={2}>
<Button color="inherit" component={Link} to="/">
Jobtracker
</Button>
</Grid>
<Grid item xs={10} container justify="flex-end">
<div>
{isAuth ? (
<>
{user && user.user.admin && (
<Button color="inherit" component={Link} to="/admin">
Admin
</Button>
)}
<Button color="inherit" component={Link} to="/profile">
Profile
</Button>
<Button color="inherit" component={Link} to="/dashboard">
Dashboard
</Button>
<Button color="inherit" onClick={logout}>
Logout
</Button>
</>
) : (
<>
<Button color="inherit" component={Link} to="/login">
Login
</Button>
<Button color="inherit" component={Link} to="/signup">
SignUp
</Button>
</>
)}
</div>
</Grid>
</Grid>
</Container>
)
}
export default Header
Run Code Online (Sandbox Code Playgroud)
Ori*_*ori 12
当你不需要它时,你不必解构它:
const [user] = useContext(ProfileContext)
Run Code Online (Sandbox Code Playgroud)
此外,如果您只需要setUser,您可以在解构时使用comma不带变量或常量名称的a 跳过项目:
const [, setUser] = useContext(ProfileContext)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1579 次 |
| 最近记录: |