Состояние контекстного API возвращает неожиданную ошибку JSON

#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. Эй, спасибо, но мое состояние все еще не сохранено в контексте, поэтому я получаю ` Полное имя` в адресе доставки неопределенного.