У меня есть следующий код, который оборачивает функцию для предоставления контекста дочерним компонентам, однако, когда я пытаюсь отобразить это, он терпит неудачу, мой обернутый компонент не рендерит, в React 16.6.3
import React from 'react'
export const WishlistContext = React.createContext(null)
const AddToWishListButtonWrapper = (WrappedComponent) => {
return class WishlistButton extends React.Component {
state = {token: null, wishlistItems: []}
render() {
const {token, wishlistItems} = this.state
return (
<WishlistContext.Provider value={wishlistItems}>
<WrappedComponent {...this.props} />
</WishlistContext.Provider>
)
}
}
}
export default AddToWishListButtonWrapper
Тогда в моем другом компоненте это выглядит так:
import AddToWishListButtonWrapper from 'src/components/wishlist_button'
...
<AddToWishListButtonWrapper>
<WishlistButton>
{' '}{wishlistSuccess ? 'Added!' : 'Add to Wishlist'}
</WishlistButton>
</AddToWishListButtonWrapper>
Однако это ничего не рендерит, если я сделаю следующее изменение в нижнем регистре с моимимпорт в мой компонент и мой JSX, обернутый компонент рендерится, в то время как ни один из методов жизненного цикла не запущен, что вызывает недоумение.
import addToWishListButtonWrapper from 'src/components/wishlist_button'
<addToWishListButtonWrapper>
<WishlistButton>
{' '}{wishlistSuccess ? 'Added!' : 'Add to Wishlist'}
</WishlistButton>
</addToWishListButtonWrapper>