reactjs - 使用 NextJS 链接,如何传递对象客户端?

标签 reactjs next.js

我有一个正在使用的 Link 组件,并且想将一个 JavaScript 对象传递给我要链接到的新页面。看来我可以传递原语,但不能传递对象。

也就是说,我想在下面做这样的事情,但我得到一个与 sessionData 关联的空字符串(session.id 和 session.sessionSlug 工作)。

                <Link
                    href={{
                        pathname: "/session", query:
                            {
                                sessionSlug: this.props.session.sessionSlug,
                                sessionId: this.props.session.id,
                                sessionData: this.props.session
                            }
                    }}
                    as={`session/${this.props.session.sessionSlug}`}>
                    <a>{this.props.session.title}</a>
                </Link>

https://nextjs.org/docs/#with-link

最佳答案

我觉得你可以试试JSON.stringify对象,然后 JSON.parse回来了

例子

pages/index.js

import Link from 'next/link';

export default () => {
  const object = {
    key1: 'value1',
    key2: 'value2'
  };

  return (
    <Link href={{ pathname: '/about', query: { object: JSON.stringify(object) } }}>
      <a>here</a>
    </Link>
  );
};

pages/about.js

import { withRouter } from 'next/router';

function About({ router: { query } }) {
  const object = JSON.parse(query.object);

  return (
    <div>
      about {object.key1} | {object.key2}
    </div>
  );
}

export default withRouter(About);

希望这会有所帮助!

关于reactjs - 使用 NextJS 链接,如何传递对象客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53132617/

相关文章:

reactjs - Next.js( react )+ Phaser : ReferenceError: navigator is not defined

javascript - React useState Hook 是附加值而不是覆盖

node.js - NextJS 和 React : Cannot read property 'email' of undefined

ios - React Native libc++abi.dylib : terminating with uncaught exception of type NSException

javascript - 如何将来自不同组件的 firebase auth 和 Cloud Firestore 作为单个 firebase 应用程序使用

javascript - 如何防止我的产品列表在父组件购物车状态更新时重新呈现?

javascript - Jest 测试 typescript 文件语法错误 : "interface is a reserved word in strict mode"

reactjs - Next.js 在本地目录中搜索不在 AWS 上的图像

reactjs - 我可以在片段上使用指令并有条件地调用其变量吗?

reactjs - Expo 33 yarn 工作区 - 未找到 id 0 : undefined. undefined() 的回调