Jos*_*eph 2 reactjs react-redux react-lifecycle react-lifecycle-hooks
当组件加载到 ReactJS 上时,我在调用函数时遇到问题。我尝试使用 componentDidMount() 并编译错误。请检查我下面的代码。谢谢
export default function Customers() {
const classes = useStyles();
const searchBarStyles = useStyles2();
const [page, setPage] = React.useState(0);
const [rowsPerPage, setRowsPerPage] = React.useState(10);
const dispatch = useDispatch();
const handleChangePage = (event, newPage) => {
setPage(newPage);
};
const handleChangeRowsPerPage = (event) => {
setRowsPerPage(+event.target.value);
setPage(0);
};
const fetch = () => {
dispatch(fetchPendingAdmissions());
};
componentDidMount() {
fetch()
}
return (
<div>
<h1 className={classes.h1}>Customers</h1>
<Paper component="form" className={searchBarStyles.root}>
<InputBase
className={searchBarStyles.input}
placeholder="Search..."
inputProps={{ 'aria-label': 'search...' }}
/>
<IconButton type="submit" className={searchBarStyles.iconButton} aria-label="search">
<SearchIcon />
</IconButton>
</Paper>
<Paper className={classes.root}>
<TableContainer className={classes.container}>
<Table stickyHeader aria-label="sticky table">
<TableHead>
<TableRow>
<TableCell>Name</TableCell>
<TableCell>ID</TableCell>
<TableCell>Order Date</TableCell>
<TableCell>Actions</TableCell>
<TableCell></TableCell>
</TableRow>
</TableHead>
<TableBody>
<TableRow>
<TableCell>Robert</TableCell>
<TableCell>1324171354</TableCell>
<TableCell>07-21-20</TableCell>
<TableCell>
<Button onClick={fetch} variant="contained" color="primary" startIcon={<VisibilityIcon />}>
View
</Button>
</TableCell>
<TableCell>
<Button variant="contained" className={classes.buttonSuccess} startIcon={<ThumbUpIcon />}>
Approve
</Button>
<Button variant="contained" className={classes.buttonError} startIcon={<CancelIcon />}>
Decline
</Button>
</TableCell>
</TableRow>
</TableBody>
</Table>
</TableContainer>
<TablePagination
rowsPerPageOptions={[10, 25, 100]}
component="div"
count={10}
rowsPerPage={rowsPerPage}
page={page}
onChangePage={handleChangePage}
onChangeRowsPerPage={handleChangeRowsPerPage}
/>
</Paper>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
生命componentDidMount()周期方法仅用于基于类的组件。您可以使用useEffect带有空依赖项数组的钩子来在组件安装时加载函数。
import React, {useState, useEffect} from 'react'
useEffect(() => {
fetch();
}, []);
Run Code Online (Sandbox Code Playgroud)
注意:useEffect是 的缩写use side effect。useEffect允许我们组合componentDidMount生命componentDidUpdate周期方法。
陷阱:
componentDidMount否则每次依赖项数组中的值发生更改时都会触发挂钩。useEffect,组件将被重复重新加载。| 归档时间: |
|
| 查看次数: |
11144 次 |
| 最近记录: |