"react-useanimations" 属性'animationKey'在类型"内部属性"上不存在



我使用了"react useanimations";插件,当我运行我的项目时,显示了以下错误。属性"animationKey"在类型"IntrinsicAttribute"上不存在

  1. common.js->常见函数在这里编写(简单的js文件(

  2. myjob.tsx->此页面上使用的实际getTag函数(打字脚本页面(

    //Common.js文件

    import React from "react";
    import UseAnimations from "react-useanimations";
    export function getTag(tag: any) {
    if (tag === 'DL')
    return (
    <UseAnimations animationKey="github" size={56} style={{ padding: 100 }} />
    );
    }
    

//myjob.tsx

import React, { useState, useEffect } from "react";
import SVG from "react-inlinesvg";
import { Link } from "react-router-dom";
import { Alert, Nav, Tab } from "react-bootstrap";
import { toAbsoluteUrl } from "../../_metronic/_helpers";
import { utcToDate, getTag } from "../../utils/common";
import Icon from '@material-ui/core/Icon';
import { MDBDataTableV5 } from 'mdbreact';
import { Dropdown, Button } from "react-bootstrap";
import { DropdownCustomToggler } from "../../_metronic/_partials/dropdowns";
import Paper from '@material-ui/core/Paper';
import Draggable from 'react-draggable';
import { getUserJobList, deleteJobById } from "../../app/modules/Job/_redux/jobCrud";
import { shallowEqual, useSelector } from "react-redux";
export function MyJobs(props: any) {
const [open, setOpen] = React.useState(false);
const [openSnackbar, setOpenSnackbar] = React.useState(false);
const [deleteJobId, setDeleteJobId] = useState("");
const [key, setKey] = useState("Month");
const [msg, setMsg] = useState("")
const [type, setType] = useState<"success" | "primary" | "secondary" | "danger" | "warning" | "info" | "dark" | "light" | undefined>("success")
const [jpbList, setJpbList] = useState([])
const [displayBy, setDisplayBy] = useState(false)
const [folders, setFolders] = useState()
const user = useSelector((state: any) => state.auth.user, shallowEqual);
const [datatable, setDatatable] = useState({
columns: [
{
label: '#',
field: 'icon',
width: 150,
attributes: {
'aria-controls': 'DataTable',
'aria-label': 'Name',
},
},
{
label: 'Job Name',
field: 'name',
width: 150,
attributes: {
'aria-controls': 'DataTable',
'aria-label': 'Name',
},
},
{
label: 'Proccesed Date',
field: 'createdDttm',
width: 270,
},
{
label: 'Status',
field: 'status',
width: 270,
},
{
label: 'Action',
field: 'action',
width: 270,
},
],
rows: [{}],
});
useEffect(() => {
if (!jpbList.length) {
getList();
}
}, []);
const getList = async () => {
getUserJobList(user.id)
.then((res: any) => {
if (res.status == 200 && res.data) {
let rows: any = [];
res.data.map((row: any) => {
rows.push(
{
icon:<img src={row.thumbnail} style={{ maxWidth: '50px', maxHeight: '50px' }} />,
name: row.name,
createdDttm: utcToDate(row.createdDttm),
status: getTag(row.status),
action: <div style={{ width: '120px' }}>
{/* begin::Toolbar */}
<div className="d-flex justify-content-end">
{
row.status == "CO" ?
<Link to={`myjobs/markerpage/${row.id}`} className="btn btn-icon btn-sm mx-3">
<span className="svg-icon svg-icon-md svg-icon-primary">
<Icon className='fa fa-play' color="action" />
</span>
</Link> : ""
}
< Dropdown className="dropdown dropdown-inline" alignRight>
<Dropdown.Toggle
id="dropdown-toggle-top-user-profile"
as={DropdownCustomToggler}
>
<i className="ki ki-bold-more-hor"></i>
</Dropdown.Toggle>
<Dropdown.Menu className="dropdown-menu dropdown-menu-sm dropdown-menu-right">
</Dropdown.Menu>
</Dropdown>
</div>
{/* end::Toolbar */}</div >,
}
)
});
let dt: any = [];
dt.columns = datatable.columns;
dt.rows = rows;
setDatatable(dt);
setJpbList(res.data);
} else {
setMsg("Something went wrong please try again later.")
setType("danger")
}
})
.catch((e: any) => {
setMsg("Something went wrong please try again later.")
setType("danger")
});
}
return (
<>
<MDBDataTableV5 hover entriesOptions={[10, 20, 50]} entries={10} pagesAmount={4} data={datatable} searchTop searchBottom={false} />
</>);
}

您想要的第一个导入图标。

import UseAnimations from "react-useanimations"; 
import activity from 'react-useanimations/lib/activity' 

在视图或渲染中使用,如此

<UseAnimations animation={activity} autoplay={true} loop={true} size={20} style={{ paddingLeft: 10 }} />

最新更新