我正在尝试测试一个具有异步componentDidMount的React组件。
这个承诺本身不需要被嘲笑,它不一定是为了访问外部内容,主要是一个道具的包装。
然而,为了测试它,我需要使用wrapper.update() 4次,这对我来说确实很奇怪。
解决办法如下:
都不适合我。
下面是我的测试的样子(目前这个测试可以工作,但是这个解决方案一点也不优雅,而且不太可伸缩):
import * as React from 'react'
import { shallow, mount } from 'enzyme'
import Lar
我有一个生命周期方法componentDidMount,它调用递归异步方法,并且我希望递归函数在获取所有数据之后返回承诺。
async componentDidMount() {
let response = await fetch(`${STORY_URL}${this.props.match.params.id}.json`);
let result = await response.json();
totalComments = result.descendants;
await this.fetchComments(result.kids, MA
我正在使用jest和酶来测试我的组件。在这个组件中,我将在componentDidMount中请求数据,然后它将使用数据呈现视图。
class App extends React.Component {
async componentDidMount() {
const data = await getData(); // send a request to server to get data
this.setState({
name: data.name,
})
}
render() {
return (
<di
我在我的组件上有一个异步API函数,它进行componentDidMount调用并更新mobx存储。组件网有一个@observer注释。
我模拟了API,但我遇到了问题-我不知道如何在测试中等待生命周期方法:
it("Magick", async () => {
const comp = await mount(<Comp/>); // -- no point of await here
// await comp.instance().componentDidMount(); -- should work, even if functio
我正在尝试保存用户输入到TextInput中的名称,这样每次用户打开应用程序时,他们的名称仍将被保存。
我正在尝试使用react-native的异步存储来获取componentDidMount()函数中的名称。我相信当onSubmit()方法被调用时,它的值没有被设置。我尝试删除async函数中的await关键字。我阅读了其他文档,但找不到哪里出了问题。
onSubmit = () => {
var that = this
var data = this.state.textValue;
nameDict['name'] = data;
_setD
我正在尝试编写一个简单的测试,看看是否在下面的HomePage组件中调用了componentDidMount: class HomePage extends Component {
state = {...}
async componentDidMount(){
// a couple of if conditions and an ajax request
}
} 对于测试,我尝试执行以下命令来查看是否调用了componentDidMount: describe('<Homepage/>', () => {
let props, s