我正在渲染react组件
App.tsx
哪个用
useEffect
钩里面
使用效果
,它进行异步调用以更新状态
delivery
定义于
应用程序。tsx
.一开始,
传送
未定义,但在下次重新渲染后,将定义它。
const App = () => {
const [delivery, setDelivery] = useState(null)
const [loading, setLoading] = useState(true)
useEffect(() => {
setup()
}, [])
const setup = async () => {
try {
const response = await someAsyncCall()
setDelivery(response)
setLoading(true)
/// Other functionality
} catch (err) {
console.log(err)
}finally{
setLoading(false)
}
}
return (
<>
{loading? <div>Loading!!</div>
: <div>App has loaded with {delivery.displayName} {delivery.id}</div>
}
</>
)
}
如何编写单元测试,使其以正确的值重新呈现?现在我明白了
Uncaught [TypeError: Cannot read property 'displayName' of undefined]
单元测试我写道:
describe('test', ()=>{
it("mounts", ()=>{
const wrapper = mount(<App />)
})
})
有没有关于如何重新渲染的想法?我读了
wrapper.update()
可以使用。我在想怎么做?