反应测试:更新输入后道具值仍然没有改变

React test: after update input the props value still not change

我有这个代码在测试

let formatField = subject.find("input").at(0);
(formatField.props() as any).onChange({
     currentTarget: { value: "Potato" }
});

问题出在这个操作之后,当我得到 formatField.props().value 它仍然 undefined

我是不是漏了什么?

我试过

formatField .simulate('change', { target: { value: 'Potato' } });

还有

formatField .simulate('keydown', { keyCode: 13 }); 

值仍未更新

非常感谢!

我自己找到的:需要等待更新

const waitForAsync = () => new Promise(resolve => setImmediate(resolve));
await waitForAsync();
subject.update(); 

模拟更改事件也应该是这样的

 formatField.simulate("change", {
        target: { value: "my value" }
      });