【问题标题】:React test: after update input the props value still not change反应测试:更新输入后道具值仍然没有改变
【发布时间】:2019-07-25 04:09:15
【问题描述】:

我有这段代码在测试中

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 }); 

值仍未更新

非常感谢!

【问题讨论】:

标签: reactjs react-testing-library react-test-renderer


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2021-06-18
    • 2021-04-09
    • 2016-12-20
    • 2023-02-09
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多