[在React中使用酶获取并设置localStorage数据

问题描述 投票:0回答:1

我正在登录页面的本地存储中保存了一些数据。我想在标题中显示。因此,在为标题编写测试套件时,我想到了在其中添加一些本地存储数据的想法。但是下面的代码不能解决这个问题。

export default class HeaderComponent extends Component {

   render() {
      const data = JSON.parse(localStorage.getItem('tokenized'));
      return(
         <div id="ui_8">{data}</div>
   )}

}

此Header comp的测试用例

let wrapper = shallow(<HeaderComponent />);
test('Display user data', () => {
    window.localStorage.setItem('tokenized', 'User_787');
    expect(wrapper.find('#ui_8').text()).toBe('User_787'); 
})
reactjs testing enzyme jest
1个回答
0
投票

实际上,您只能以某些生命周期方法(例如localStorage)访问componentDidMount(),因此您的第一个代码将无法工作,因为您正在render()函数中使用它。

热门问题
推荐问题
最新问题