gpt4 book ai didi

javascript - 警告 : Failed prop type: The prop open is marked as required in Snackbar, 但其值未定义

转载 作者:行者123 更新时间:2023-11-29 19:01:24 24 4
gpt4 key购买 nike

我正在尝试为我的应用引入 jest 快照测试。

LoginForm 组件

render() {
return (
...
<DynamicSnack
dialogOpen={this.props.dialogOpen}
snackOpen={this.props.snackOpen}
snackTimer={this.props.snackTimer}
snackMessage={this.props.snackMessage}
/>
)
}

DynamicSnack 组件

import Snackbar from 'material-ui/Snackbar';

render() {
let { snackOpen, snackTimer, snackMessage } = this.props

return (
<Snackbar
open={snackOpen}
message={snackMessage}
autoHideDuration={snackTimer}
onRequestClose={this.closeSnack}
/>
)
}

LoginForm.spec.js

import React from 'react'
import renderer from 'react-test-renderer'
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';

import LoginForm from '../../app/components/loginComponents/loginForm'

describe('LoginForm', () => {
it('should render snapshot', () => {
const component = renderer.create(
<MuiThemeProvider>
<LoginForm />
</MuiThemeProvider>
)
const tree = component.toJSON()
expect(tree).toMatchSnapshot()
})
})

警告:

enter image description here

Warning: Failed prop type: The prop message is marked as required in Snackbar, but its value is undefined.
Warning: Failed prop type: The prop open is marked as required in Snackbar, but its value is undefined.

我尝试直接导入 DynamicSnack 组件甚至 Snackbar 并手动添加属性 open={false} message={'w00f'} 但没有任何变化。

我是单元测试的新手,正在尝试从学习 jest 开始。

我怎样才能摆脱这些警告?

最佳答案

解决方案非常简单,在测试 LoginForm 时,您没有传递 Snackbar 需要的 Prop 。将它们作为

 const component = renderer.create(
<MuiThemeProvider>
<LoginForm snackOpen={true}
snackMessage={'Wrong info'}/>
</MuiThemeProvider>
)

关于javascript - 警告 : Failed prop type: The prop open is marked as required in Snackbar, 但其值未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46687271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com