Javascript ';高度';使用react测试渲染器库定义的未定义

Javascript ';高度';使用react测试渲染器库定义的未定义,javascript,reactjs,jestjs,material-ui,react-test-renderer,Javascript,Reactjs,Jestjs,Material Ui,React Test Renderer,我的当前组件中有折叠和放射组组件。 在绑定到状态的组件的支柱中。 当我想用onChangeprop更改RadioGroup的值时,我得到一个错误。 因为Collapse组件的属性中的等于true,并且Collapse组件应该出现 此错误出现在带有react-test呈现程序的测试模式中 我的组件的一些行: . . . const [discountType, setDiscountType] = useState('total') . . . const handleChange = event

我的当前组件中有
折叠
放射组
组件。
在绑定到状态的
组件的
支柱中。
当我想用
onChange
prop更改
RadioGroup
的值时,我得到一个错误。 因为
Collapse
组件的
属性中的
等于true,并且
Collapse
组件应该出现

此错误出现在带有
react-test呈现程序的测试模式中

我的组件的一些行:

. . .
const [discountType, setDiscountType] = useState('total')
. . .
const handleChange = event => {
  setDiscountType(event.target.value)
}
. . .
  <RadioGroup value={discountType} onChange={handleChange}>
. . .
  <Collapse in={discountType === 'separate'}>
      . . .
  </Collapse>
. . .
at Object.handleEnter[as onEnter](node_modules/@material ui/core/Collapse/Collapse.js:106:23)
在Transition.performEnter(节点_modules/react Transition group/cjs/Transition.js:282:16)
在Transition.updateStatus(节点_modules/react Transition group/cjs/Transition.js:253:14)
在Transition.componentDidUpdate(节点_modules/react Transition group/cjs/Transition.js:215:10)
在提交周期(node_modules/react test renderer/cjs/react test renderer.development.js:12232:22)
在commitLayoutEffects(node_modules/react test renderer/cjs/react test renderer.development.js:15354:7)
在htmlunknowneelement.callCallback(node_modules/react test renderer/cjs/react test renderer.development.js:11758:14)
在Object.invokeGuardedCallbackDev(节点_modules/react test renderer/cjs/react test renderer.development.js:11807:16)
在invokeGuardedCallback(node_modules/react test renderer/cjs/react test renderer.development.js:11860:31)
在CommitroTimpl(node_modules/react test renderer/cjs/react test renderer.development.js:15092:9)
在优先级不稳定的情况下运行(node_modules/scheduler/cjs/scheduler.development.js:697:12)
在runWithPriority(node_modules/react test renderer/cjs/react test renderer.development.js:2013:10)
在Commitrout(node_modules/react test renderer/cjs/react test renderer.development.js:14932:3)
finishSyncRender(节点_modules/react test renderer/cjs/react test renderer.development.js:14439:3)
在performSyncWorkOnRoot(node_modules/react test renderer/cjs/react test renderer.development.js:14417:9)
在节点_modules/react test renderer/cjs/react test renderer.development.js:2063:24
在优先级不稳定的情况下运行(node_modules/scheduler/cjs/scheduler.development.js:697:12)
在runWithPriority(node_modules/react test renderer/cjs/react test renderer.development.js:2013:10)
在flushSyncCallbackQueueImpl(节点_modules/react test renderer/cjs/react test renderer.development.js:2058:7)
在flushSyncCallbackQueue(node_modules/react test renderer/cjs/react test renderer.development.js:2046:3)
在BatchedUpdate(node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14460:7)
在act(node_modules/react test renderer/cjs/react test renderer.development.js:17271:14)
反对。(MyComponent.test.js)//我的测试文件

Material UI需要一些额外的设置才能正常工作。在这里可以找到一些有用的信息:材质UI需要一些额外的设置才能正常工作。以下是一些有用的信息:
const component = create(<MyComponent />)
const instance = component.root

it('MyComponent snapshot', () => {
  const tree = component.toJSON()
  expect(tree).toMatchSnapshot()
})

it('MyComponent handleChange correctly', () => {
  const value = 'separate'
  act(() => {
    instance.findByType(RadioGroup).props.onChange({ target: { value } }) // This line produces Error
    component.update(<MyComponent />)
  }
})
TypeError: Cannot set property 'height' of undefined
at Object.handleEnter [as onEnter] (node_modules/@material-ui/core/Collapse/Collapse.js:106:23)
at Transition.performEnter (node_modules/react-transition-group/cjs/Transition.js:282:16)
at Transition.updateStatus (node_modules/react-transition-group/cjs/Transition.js:253:14)
at Transition.componentDidUpdate (node_modules/react-transition-group/cjs/Transition.js:215:10)
at commitLifeCycles (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:12232:22)
at commitLayoutEffects (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:15354:7)
at HTMLUnknownElement.callCallback (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11758:14)
at Object.invokeGuardedCallbackDev (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11807:16)
at invokeGuardedCallback (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11860:31)
at commitRootImpl (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:15092:9)
at unstable_runWithPriority (node_modules/scheduler/cjs/scheduler.development.js:697:12)
at runWithPriority (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2013:10)
at commitRoot (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14932:3)
at finishSyncRender (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14439:3)
at performSyncWorkOnRoot (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14417:9)
at node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2063:24
at unstable_runWithPriority (node_modules/scheduler/cjs/scheduler.development.js:697:12)
at runWithPriority (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2013:10)
at flushSyncCallbackQueueImpl (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2058:7)
at flushSyncCallbackQueue (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2046:3)
at batchedUpdates (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14460:7)
at act (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17271:14)
at Object.<anonymous> (MyComponent.test.js) // My test file