我在一个组件(Menu.js)中设置了一个React cookie,并试图在另一个组件(Home.js)中监听它。
目前使用通用cookie。https:/www.npmjs.compackageuniversal-cookie 并且有一个addChangeListener函数。然而,我似乎无法让它工作,当我在Menu.js中设置cookie时,Home.js中的这段代码根本无法触发更新。
const cookies = new Cookies();
cookies.addChangeListener(onCookieChange);
function onCookieChange() {
console.log("Noticed cookie change!")
}
根据其他stackoverflow的答案,我试着像这样绑定onCookieChange。
cookies.addChangeListener(this.onCookieChange.bind(this));
结果得到了这个错误。
TypeError: Cannot read property 'onCookieChange' of undefined
你可以使用 onChanged
原生事件。为它添加一个事件监听器,以便在设置或删除cookie时进行监视。
请看MDN文档中的使用实例。https:/developer.mozilla.orgen-USdocsMozillaAdd-onsWebExtensionsAPIcookiesonChanged。