我刚刚用打字稿开始了一个新的反应项目,我在功能组件中定义自定义道具时遇到困难。
我查找了如何定义自定义道具,并找到了一种定义接口的方法,详细说明了我传递给函数的道具类型,但是当我尝试在我的主应用程序上运行它时,我收到一条错误消息
输入 '{ 数字:数字;}' 不可分配给类型“IntrinsicAttributes”。类型“IntrinsicAttributes”上不存在属性“digit”。TS2322
我的代码:
import React from 'react';
import Button from '@mui/material/Button';
export {}
interface NumberButton {
digit:number,
}
function NumberButton(props:NumberButton){
return (
<Button variant="contained" color="primary">{props.digit}</Button>
)
}
Run Code Online (Sandbox Code Playgroud)
import React from 'react';
import ReactDOM from 'react-dom';
import ClearButton from './Components';
import NumberButton from './Components';
export default function App(){
return (
<div>
<ClearButton/>
<NumberButton digit={1}/>
</div>
)
}
Run Code Online (Sandbox Code Playgroud)
在使用钩子之后,我试图更加熟悉功能组件,并且我迷上了使用它们。
我正在尝试覆盖 MUI 中按钮的现有样式。这是我第一次使用 MUI,我使用默认的情感作为样式引擎安装了我的项目。我尝试使用此处指定的 css() 方法:The css prop但是它似乎不起作用,即使在提供的示例案例中也是如此。我本想添加一个自定义 css 文件来处理 :select,但我在组件中使用状态从选定更改为未选定。
import * as React from "react";
import Avatar from "@mui/material/Avatar";
import ListItemText from "@mui/material/ListItemText";
import ListItemButton from "@mui/material/ListItemButton";
import { useState } from "react";
import { css } from "@emotion/react";
const ProfileInfo = ({ userCredentials, userPicture }) => {
const [selected, setSelected] = useState(false);
return (
<ListItemButton
selected={selected}
onClick={() => setSelected((prev) => !prev)}
css={css`
::selection {
color: #2e8b57;
}
:focus {
color:#2e8b57;
}
:active {
color:#2e8b57
} …Run Code Online (Sandbox Code Playgroud)