作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Jest 好像不能使用我导入的组件。
这通常是导出/导入设置方式的问题,但我的控制台日志显示组件正在导入到文件中,但没有进入描述函数(参见下面的内联注释)
import ValidInput from '../components/ui/ValidInput';
console.log(typeof ValidInput) // 'function'
describe('ValidInput', () => {
it('Renders succesfully', () => {
console.log(typeof ValidInput) // 'undefined'
const validInputInst = renderer.create(
<View>
<ValidInput
inputType='email'
validationRules={{
isEmail: true,
}}
/>
</View>
)
const ValidInput = validInputInst.root.findByType(ValidInput)
})
})
组件:
export default class ValidInput extends Component {
constructor (props) {
super(props);
}
...
错误:不变违规:元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:未定义。您可能忘记从定义它的文件中导出您的组件,或者您可能混淆了默认导入和命名导入。
期望能够渲染组件
最佳答案
原来问题出在这一行:
const ValidInput = validInputInst.root.findByType(ValidInput)
还有一个在这里:inputType='email'
由于某些原因,虽然 ValidInput 在 describe() 的范围内未定义,但如果您尝试分配一个名为 ValidInput (const ValidInput) 的变量,在导入了与上面同名的内容之后,它将抛出 Invariant Violation 错误就好像你在尝试调用你还没有导入的东西。
关于javascript - Jestjs 与 Expo-cli。不变违规 : Element type is invalid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57239389/
与其说这是一个技术问题,不如说是一个政策问题。 开发应用程序时,如果附属机构提供的链接构成您内容的一部分,您是否可以显示该链接?例如,专门用于从 Affiliate Window 查找特定流派黑胶唱片
我是一名优秀的程序员,十分优秀!