小编Bre*_*nan的帖子

如何在 Storybook 中使用 NextJS 的“useRouter()”钩子

我一直在尝试在 Storybook 中使用 Next.js 中的 useRouter 钩子。但是,每次加载 Storybook 时,我都会收到“无法读取 null 的属性“路径名””。我该如何解决这个问题?

import { useRouter } from "next/router";

const NavStrip = () => {
  const router = useRouter();

  return (
    ...
            <Link href="/dashboard" passHref>
              <StyledLink active={router.pathname === "/dashboard"}>
                ...
              </StyledLink>
            </Link>
    ...
         )
}
Run Code Online (Sandbox Code Playgroud)

NavStrip.stories.tsx

import React from "react";
import NavStrip from "./index";

export default {
  component: NavStrip,
  title: "NavStrip",
};

export const Default = () => <NavStrip />;
Run Code Online (Sandbox Code Playgroud)

next.js storybook

6
推荐指数
2
解决办法
1824
查看次数

如何将 SafeMath.sol 正确导入合约

这是我一直在处理的一个问题。我的临时解决方案是在我的 Contracts 目录中创建一个 SafeMath.sol 文件并直接从那里导入它。不过,我一直在寻找这样的“清晰的解决方案” ......老办法似乎是直接从GitHub的链接导入它,因为在某些回购和其他堆栈溢出的职位像看到这样的

但是,正确的方法似乎是安装相应的 oz 包(@openzeppelin/contracts-ethereum-package)并将文件直接导入到所需的合约中,即

import "@openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol";

但是,使用 VSCode,我仍然收到错误Source "@openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol" not found: File import callback not supported

也就是说,如何正确导入 SafeMath?

编辑:我正在使用 pragma solidity ^0.6.0;

solidity openzeppelin

5
推荐指数
2
解决办法
4995
查看次数

标签 统计

next.js ×1

openzeppelin ×1

solidity ×1

storybook ×1