【发布时间】:2020-12-29 18:40:27
【问题描述】:
const movieList = getMovies();
const useStyles = makeStyles({
table: {
minWidth: 650,
},
});
const Movie = () => {
const classes = useStyles();
const [movies, setMovies] = useState("");
useEffect(() => {
setMovies(movieList);
}, []);
const handleDelete = (movie) => {
deleteMovie(movie._id);
setMovies(movies);
};
console.log(movies);
return (
<TableContainer component={Paper}>
<Table className={classes.table} aria-label="simple table">
<TableHead>
<TableRow>
<TableCell>
<strong>Title</strong>
</TableCell>
<TableCell align="right">
<strong>Genre</strong>
</TableCell>
<TableCell align="right">
<strong>Stock</strong>
</TableCell>
<TableCell align="right">
<strong>Rate</strong>
</TableCell>
<TableCell align="right"></TableCell>
</TableRow>
</TableHead>
{typeof movies === "object"
? movies.map((row) => (
<TableBody key={row._id}>
<TableRow>
<TableCell component="th" scope="row">
{row.title}
</TableCell>
<TableCell align="right">{row.genre.name}</TableCell>
<TableCell align="right">{row.numberInStock}</TableCell>
<TableCell align="right">{row.dailyRentalRate}</TableCell>
<TableCell align="right">
<Button
variant="contained"
color="secondary"
onClick={() => handleDelete(row)}
>
Delete
</Button>
</TableCell>
</TableRow>
</TableBody>
))
: null}
</Table>
</TableContainer>
);
};
export default Movie;
问题 该组件没有重新渲染,它只是在控制台上更新。 说明
基本上,我使用材质 ui 和 反应,我已经显示了电影的内容,但是当我点击 删除按钮,它在控制台上更新但不在 UI 上意味着前面 结束浏览器
【问题讨论】:
标签: reactjs