Как правильно строить компоненты с HOC при компиляции next.js
Доброго времени суток!
Предоставляю 2 элемента:
- компонент на который ругается компилятор:
pages/admin/panel
import React, { Component } from 'react'
import Router from 'next/router'
import withAdmin from 'middleware/withAdmin'
class Panel extends Component {
componentDidMount() {
Router.push('/admin/login')
}
render() {
return (<div>HI</div>)
}
}
export default withAdmin(Panel)
- HOC через который он проходит:
const withAdmin = (Component) => {
class middleware extends Component {
async componentDidMount() {
...
// возвращает check = true либо перекидывает на страницу авторизации
}
render() {
const { check } = this.props;
if (check) {
return (
<Component {...this.props} />
)
}
else {
return (
<Error statusCode={404} />
)
}
}
}
return connect(mapState, mapDispatch)(middleware); // подключение redux store
}
const mapState = state => ({
token: state.auth.token
})
const mapDispatch = dispatch => ({
setToken: (token) => dispatch(setTokenAction(token)),
})
export default dynamic(() => Promise.resolve(withAdmin), { ssr: false}); // убираем ssr на всех админ страницах.
В итоге при компиляции получаю ошибку:
> Build error occurred Error: Build optimization failed: found page without a React Component as default export in pages/admin/panel
в файлах логов ничего нет, все стандартно... это не ошибка npm и тд. Буду очень благодарен за помощь!