我正在将分页组件从类重构为函数以使用react-hooks,而useEffect无法读取名为propTypes和defaultProps的变量中名为Items和initialPage的属性。并在浏览器上显示此错误。
TypeError: Cannot read property 'items' of undefined
(anonymous function)
src/components/Pagination.js:27
24 |
25 | useEffect((prevProps) => {
26
> 27 | if (JSON.stringify(propTypes.items) !== JSON.stringify(prevProps.items)) {
| ^ 28 | setPage(propTypes.initialPage);
29 | }
30 | }, []);
这是我的密码
const propTypes = {
items: PropTypes.array.isRequired,
onChangePage: PropTypes.func.isRequired,
initialPage: PropTypes.number,
pageSize: PropTypes.number,
};
const defaultProps = {
initialPage: 1,
pageSize: 5,
};
function Pagination(props) {
const [pager, setPager] = useState({ pager: {} });
useEffect(() => {
if (propTypes.items && propTypes.items.length) {
setPage(propTypes.initialPage);
}
}, []);
useEffect((prevProps) => {
if (JSON.stringify(propTypes.items) !== JSON.stringify(prevProps.items)) {
setPage(propTypes.initialPage);
}
}, []);
我一直陷在这个问题中,希望我能从这里得到好的答案或任何反馈。非常感谢!