javascript - 将数据传递给 themeProvider
问题描述
我的 nextjs 项目中的 ThemeProvider 有问题。我知道将数据传递给主题的最佳方式是什么。在我的 getInitialProps 中,/pages/index
我获取了设置数据,并且 ThemeProvider 标记位于/pages/_app.js
包装器中<Component />
。如何将数据从索引传递到 _app?任何想法?谢谢!!
这是我的代码:
/pages/_app.js
import App from "next/app";
import React from "react";
import Head from "next/head";
/* Styles */
import { ThemeProvider } from "styled-components";
import theme from "../styles/theme/primary";
class MyApp extends App {
render() {
const { Component, pageProps } = this.props;
return (
<>
<ThemeProvider theme={theme}> // Here ThemeProvider whit theme
<Header />
<Container>
<Component {...pageProps} />
</Container>
<Footer />
</ThemeProvider>
</>
);
}
}
export default MyApp;
页面/index.js
import React, { useState, useEffect } from "react";
/* Others */
import { getData } from "../helper/api";
const Index = props => {
const res = props.data;
return (
<>
<Home data={res} />
</>
);
};
Index.getInitialProps = async ({ res }) => {
try {
let req = await getData(); // Here I get the settings.
return { data: req };
} catch (e) {
console.log(`Error: ${e}`);
return { data: null};
}
};
export default Index;
解决方案
推荐阅读
- html - 如何使用 CSS 创建类似紧身胸衣的效果?
- database - Show only one record in Mult-Tenant auth System Laravel
- javascript - JSReport请求错误
- c++ - 向 MPI 进程发送函数
- c++ - 使用boost库获取矩形/圆形交点
- python-3.x - 如何识别运行脚本的 Python 内核?
- haskell - 在模式同义词中调用函数
- c# - 实体框架代理创建
- javascript - 带有 API 调用的 Node.Js 函数返回未定义
- php - Composer 无法在 Windows (WSL) 上运行