我开始使用 Ionic-react 进行打字稿,所以我在设置状态时遇到了打字稿问题
这是我的代码
import { RouteComponentProps } from "react-router-dom";
type ICoord = {
data: number[];
};
type Props = RouteComponentProps & ICoord;
const Verify: React.FC<Props> = ({ history }) => {
const coordinates: number[] = [];
const [data, setdata] = useState<ICoord>();
useEffect(() => {}, [data]);
const start = () => {
navigator.geolocation.watchPosition(
(data) => {
console.log(data);
coordinates[0] = data.coords.latitude;
coordinates[1] = data.coords.longitude;
setdata(coordinates);
},
(err) => {
console.log(err);
},
{ enableHighAccuracy: true }
);
};
const stop = () => {};
return (
<div>
<button onClick={start}>start</button>
<button onClick={stop}>stop</button>
</div>
);
};
export default Verify;
所以当我尝试在行中设置状态时
setdata(coordinates);
它给了我错误
'number[]' 类型的参数不能分配给 'SetStateAction<ICoord | 类型的参数 未定义>'。类型 'number[]' 不可分配给类型 '(prevState: ICoord | undefined) => ICoord | 不明确的'。