JS-Cookie — не удается установить Cookie из вспомогательной функции

#javascript #reactjs

#javascript #reactjs

Вопрос:

У меня есть форма входа в систему, где, если пользователь будет успешным, мы установим authToken в файле cookie.

 enter code here
  

 if (res.status === 202) {
                    const result = await res.json();
                    console.log(
                        "This is auth token before setting"   result.token
                    );
                    //setCookie(result.token);
                    Cookies.set("authToken", result.token, {
                        secure: true,
                        sameSite: "strict",
                        expires: 1,
                        domain: "localhost:3001",
                    });

                    localStorage.setItem("username", username);
                    console.log(
                        "This is Cookie auth token "   Cookies.get("authToken")
                    );
                    history.push("/home");
                }  

Теперь я буду использовать этот код в другом месте, поэтому я хотел создать вспомогательную функцию.

Это не работает, и я не уверен, почему.

 const setCookie = (token) => {
    //console.log("this is from setCookie "   token);
    console.log(
        Cookies.set("authToken", token, {
            secure: true,
            sameSite: "strict",
            expires: 1,
            domain: "localhost:3001",
        })
    );
};
export default setCookie;  

Однако, похоже, это работает просто отлично

 import Cookies from "js-cookie";

const setCookie = (token) => {
    //console.log("this is from setCookie "   token);
    console.log(
        Cookies.set("authToken", token);
};
export default setCookie;  

Я не уверен, почему это так. Может кто-нибудь подсказать, почему, как я могу это исправить, пожалуйста?

Комментарии:

1. Почему вы оборачиваете свою Cookies.set внутреннюю часть a a console.log ? Похоже, это может вызывать проблемы.

2. Мой плохой, я просто распечатал, что происходит. Он отлично работает, если я удалю console.log 🙂

Ответ №1:

После внесения некоторых изменений это, похоже, работает.

 Cookies.set("authToken", result.token, {
                        //  secure: true,
                        sameSite: "strict",
                        expires: 1,
                        //  domain: "localhost",
                    });  

Как только я защищаю файл cookie, он перестает работать.