reactjs - 使用 ReactJs 和 Typescript 在组件中调用主题道具时出错
问题描述
我需要将主题的颜色传递给组件,我正在使用类型脚本(我是初学者)。
我遇到了一个我无法解决的错误。
错误是:参数'props'隐式具有'any'类型.ts(7006)
它出现在我的代码的颜色行中
<Linkxx
color={(props) => props.theme.colors.red}
size={11}
weight={500}
decoration={false}
/>
我的组件
import React from 'react';
import { Container } from './styles';
interface LinkProps {
color: string;
size?: number;
weight?: number;
decoration?: boolean;
}
const Link: React.FC<LinkProps> = ({ color, size, weight, decoration }) => {
return (
<Container
decoration={decoration}
weight={weight}
size={size}
color={color}
to="/teste"
>
teste
</Container>
);
};
export default Link;
出现问题的代码
import React from 'react';
import Header from '../../components/Header';
import Linkxx from '../../components/Link';
import {
Container,
Content,
UserCard,
Avatar,
UserData,
Canais,
BoxAction,
} from './styles';
const User: React.FC = () => {
return (
<>
<Header />
<Container>
<Content>
<h1>User</h1>
<UserCard>
<Avatar />
<UserData>
<span>Sample Name</span>
<small>sample@gmail.com</small>
</UserData>
<Canais>
<span>Adm, Manager</span>
<div>
<small>test</small>
<small>test</small>
<small>test</small>
</div>
</Canais>
<BoxAction>
<div>
<Linkxx
color={(props) => props.theme.colors.red}
size={11}
weight={500}
decoration={false}
/>
</div>
</BoxAction>
</UserCard>
</Content>
</Container>
</>
);
};
export default User;
调用组件时如何使用主题属性?
解决方案
尝试这个:
<Linkxx
// color={(props) => props.theme.colors.red} // You passed a function
color={props.theme.colors.red} // Try passing a value or string i.e. props.theme.colors.red
size={11}
weight={500}
decoration={false}
/>
正如你的界面所说color
的是字符串:
interface LinkProps {
color: string; // color is string
size?: number;
weight?: number;
decoration?: boolean;
}
推荐阅读
- android - 按缺口切割应用程序
- for-loop - scss 为 css 类提供 . 里面
- python - 将数据框中的值作为python中的函数参数传递
- apache-spark - Apache Spark——内存不足时spark如何从源中读取大分区
- node.js - 创建新的角度项目时 - 包安装失败
- python - Matplotlib 3d scatter 动画 - 如何正确更新
- python - 在python的父文件夹中导入自定义模块
- class - 为 WSO2 API Manager 创建拦截器类
- android - 将手机连接到计算机 localhost
- css - 这个 CSS .row > div > div { ... } 是什么意思?