我正在try 在Next13应用程序中创建一个按钮组件,该组件可以接受将在onClick事件上执行的props 函数.当然,它被宣布为'use client'
Button.tsx
"use client";
type ButtonProps = {
children: React.ReactNode;
onClick: () => void;
};
const Button = ({ children, onClick }: ButtonProps) => {
return (
<button
className="bg-secondary-color py-4 px-14 rounded text-white"
onClick={onClick}
>
{children}
</button>
);
};
export default Button;
这是我的实现页面(服务器组件)
<Button onClick={() => console.log("hello from parent")}>
<Link href="/test">Navigate to test</Link>
</Button>
在我的页面中,我可以看到一个错误:
100
我怎么才能解决它呢?我知道我可以在我的页面顶部添加‘使用客户端’,但如果这是一个简单的登录页面,并且这个按钮是页面上唯一的交互元素,这是不是一个好方法?
我还希望这个按钮组件是通用的,并根据实现执行功能,这是Reaction的本质.
我该怎么解决这个问题呢?哪种方法最适合这种类型的实施?