访问Enzym中的嵌套状态

时间:2019-02-11 01:02:47

标签: reactjs jestjs enzyme

我的状态看起来像这样

`this.state = { 
               potato: {
                        chips: 'yum',
                        fries: 'even better',
                        }
               }

然后,我要访问frieswrapper.state('potato')使我更上一层楼,如何更深入?不是

  • wrapper.state('potato').state('fries')
  • wrapper.state('potato', 'fries')
  • wrapper.state(['potato', 'fries'])
  • wrapper.state('potato').fries
  • wrapper.state('potato')['fries']

当我这样做

const potato = wrapper.state('potato');

然后

console.log(potato);

我明白了

{
     chips: 'yum',
     fries: 'even better',
}

但是,通过

进行访问
console.log(potato.chips);
console.log(potato.fries);
console.log(potato.potato.chips)

所有退货

  

未定义

我不明白...

1 个答案:

答案 0 :(得分:0)

您要做的就是首先获取状态并使用点表示法访问属性。

wrapper.state().potato.fries

wrapper.state('potato').fries

您也可以使用括号表示法。

wrapper.state()['potato']['fries']

wrapper.state('potato')['fries']