#reactjs #next.js #context-api
Вопрос:
Я следую учебному руководству, встроенному в NextJS, используя контекстный API для обработки состояния в приложении, но я продолжаю получать SyntaxError: Unexpected token o in JSON at position 1
, когда нахожусь на странице доставки с моего store.js файл, в котором определены мой редуктор и состояние.
Я сделал именно то, что написано в учебном руководстве, но оно все еще терпит неудачу.
Мое начальное состояние доставки.
const initialState = {
shippingAddress: Cookies.get("shippingAddress")
? JSON.parse(Cookies.get("shippingAddress"))
: {},
Мой shipping.js файл
const router = useRouter();
// const { redirect } = router.query;
const { state, dispatch } = useContext(Store);
const { userInfo, cart: {shippingAddress} } = state;
useEffect(() => {
if (!userInfo) {
router.push("/login?redirect=/shipping");
}
setValue('fullName', shippingAddress.fullName)
setValue('address', shippingAddress.address)
setValue('city', shippingAddress.city)
}, []);
const classes = useStyles();
const submitHandler = ({ fullName, address, city}) => {
dispatch({
type: "SAVE_SHIPPING_ADDRESS",
payload: { fullName, address, city},
});
Cookies.set("shippingAddress", {
fullName,
address,
city,
});
router.push("/payment");
};
В чем проблема?
Репозиторий Github: https://github.com/suolomon/demo-store
Комментарии:
1. Попробуй, как
JSON.parse(JSON.stringify(Cookies.get("shippingAddress")))
2. Эй, спасибо, но мое состояние все еще не сохранено в контексте, поэтому я получаю ` Полное имя` в адресе доставки неопределенного.