Я пытаюсь использовать стилизованные компоненты с next.js.Я добавил плагин babel и добавил пользовательский _document.js
.Кажется, что все работает нормально.
Однако, когда я пытаюсь использовать isomorphic-unfetch
до getInitialProps
на странице, запрос возвращает данные, но не переходит в Props.
Для _document.js
IЯ использую код с сайта next.js здесь , а также попробовал немного отличную версию от here , которую я также видел на сайте документации next.js в какой-то момент.
Моя тестовая страница выглядит следующим образом (также из next.js docs ):
import styled from 'styled-components';
import fetch from 'isomorphic-unfetch';
export default class MyPage extends React.Component {
static async getInitialProps({ req }) {
const userAgent = req ? req.headers['user-agent'] : navigator.userAgent
return { userAgent }
}
render() {
return (
<div>
Hello World {this.props.userAgent}
</div>
)
}
}
У меня также есть _app.js
, который выглядит следующим образом:
import App, { Container } from 'next/app';
import Page from '../components/Page';
class MyApp extends App {
render() {
const { Component } = this.props;
return (
<Container>
<Page>
<Component />
</Page>
</Container>
);
}
}
export default MyApp;
И Page.js
просто имеет несколько стилизованных компонентов и тему с компонентом, который выглядит следующим образом:
class Page extends Component {
render() {
return (
<ThemeProvider theme={theme}>
<StyledPage>
<GlobalStyle />
<Meta />
<Header />
{this.props.children}
</StyledPage>
</ThemeProvider>
);
}
}
export default Page;
Я чувствую, что это как-то связано с новым _document.js или_app.js не передает реквизит как-то.
Очевидно, я довольно новичок в next.js, поэтому извиняюсь, если это что-то глупое.А пока я продолжу подключаться, чтобы лучше понять, что происходит.Я хотел бы спросить здесь параллельно, так как у меня есть некоторое время для этого проекта.
Большое спасибо за любые мысли, которые у вас могут возникнуть.