Ваш вопрос не конкретизирован c до Fastify
, но относится ко всем серверным платформам.
Основная идея c состоит в том, что req
& res
объект передается в Next getInitialProps
.
Таким образом, вы можете поместить в них свои данные.
Например, у объекта Response express есть атрибут locals
, который задает c для этого задания.
Итак, чтобы передать данные, прикрепите их к требованию.
fastify.get('/', (req, res) => {
const object = { hello: 'world' }; // object I want to pass as a prop
res.res.myDataFromController = object;
return app.render(req.req, res.res, '/index', req.query).then(() => {
res.sent = true;
});
});
// some next page.jsx
const IndexPage = ({ dataFromGetInitilProps }) => (
<div> {JSON.stringify(dataFromGetInitilProps, null, 2)} </div>
);
IndexPage.getInitilProps = ctx => {
const { res } = ctx;
// res will be on the context only in server-side
const dataFromGetInitilProps = res ? res.myDataFromController: null;
return {
dataFromGetInitilProps: res.myDataFromController,
};
};
export default IndexPage;