reactjs - 如何解决我的 React 按钮组件中的错误?
问题描述
我的 Button 组件中有错误,但我不知道出了什么问题。如果有人可以帮助我,那就太好了......代码如下。最近我添加了 ESLint + Prettier,但我不知道这是否是问题所在。
■导出文件
import React from 'react';
import classes from './Button.module.css';
const Button = (props) => {
return (
<button
type={props.type}
className={`${classes.button} ${props.className}`}
onClick={props.onClick}
>
{props.children}
</button>
);
};
export default Button;
■导入文件
import Button from '../UI/Button';
const Login = () => {
return (
<div>
<form>
<Button
type='submit'
className={classes['login-btn']}
onClick={submitLoginHandler}
>
Login
</Button>
</form>
</div>
);
};
export default Login;
解决方案
这些是警告而不是错误。它说你必须检查你的道具类型(String,İnt,Bool,Func)
对于您的代码:
Button.propTypes = {
type: PropTypes.string,
className:PropTypes.string,
onClick: PropTypes.func,
children: PropTypes.string
};
但我建议你不要使用儿童道具,例如使用 buttonLabel。
<Button
type='submit'
className={classes['login-btn']}
onClick={submitLoginHandler}
buttonLabel="Login"
/>
并获得这样的道具:
const Button = ({type,className,onClick,buttonLabel}) => {
return (
<button
type={type}
className={`${classes.button} ${className}`}
onClick={onClick}
>
{buttonLabel}
</button>
);
};
最终道具:
Button.propTypes = {
type: PropTypes.string,
className:PropTypes.string,
onClick: PropTypes.func,
buttonLabel: PropTypes.string
};
更多信息: https ://reactjs.org/docs/typechecking-with-proptypes.htm
推荐阅读
- c# - 在 .NET Core 3.0 WinForms 应用程序中注册用于依赖注入的 Serilog 文件记录器
- meteor - Meteor DDP 调用在太长时返回未定义
- .net - inno setup 检查 dotnet core 是否安装
- excel - 如何处理数据集中的空白单元格
- java - Docker 将 Javafx 添加到 openJDK
- jquery - jquery在水平滚动时获取图像偏移量
- ios - 如何在 UITableView (Swift) 中创建可点击的单元格
- javascript - IActiveScriptParse32::ParseScriptText 内存泄漏
- javascript - 使用 padgination 的 Wordpress 延迟加载
- kotlin - Kotlin - 协程请求不会等到第一个请求完成