Изучение реакции Я пытаюсь написать компонент более высокого порядка, чтобы добавить кнопку удаления элемента. Я не могу понять, что я делаю неправильно здесь:Компонент более высокого порядка отображает обернутый элемент как строку «тега»
const deletableItem = WrappedComponent => {
const DeletableItemWrapper = class extends React.Component {
render() {
return (
<div>
<WrappedComponent {...this.props} />
<button onClick={this.props.onDelete}>delete</button>
</div>
)
}
}
DeletableItemWrapper.propTypes = {
onDelete: PropTypes.func.isRequired
}
DeletableItemWrapper.displayName =
'DeletableItemWrapper_' +WrappedComponent.displayName
return DeletableItemWrapper
}
Я проверяю это так:
describe('deletableItem',() => {
it('should contains dumb',() => {
const onDelete = sinon.spy()
const DumbComponent =() => <div>dumb</div>
const Item = deletableItem(DumbComponent)
const wrapper = shallow(<Item onDelete={onDelete} />)
expect(wrapper.text()).to.contains('dumb')
})
})
тест дает мне:
AssertionError: expected '<DumbComponent />delete' to include 'dumb'
Так это выглядит HOC не передает «обернутый элемент», а только тег как строку. Что я упустил ?