ts+react: 使用dva时如何定义接口?

发布于 2022-09-11 23:43:13 字数 359 浏览 8 评论 0

如代码所示:

@connect(({ taskOperate, loading }) => ({
    taskOperate,
    loading: loading.effects,
}))

举例,model.js中实际数据是
state:{
    testObj:{value:'15',id:'1'},
    testArray:[{value:'15',id:'1'},{value:'15',id:'1'}],
}

在页面中以内dva,ts告警

绑定元素“taskOperate”隐式具有“any”类型‘

请问在此处如何定义并使用接口?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋意浓 2022-09-18 23:43:13

模仿了antd-pro的ts定义,搞定了。ts初体验,真的繁琐,写起来不爽。
附简要代码:

import React from 'react'
import router from 'umi/router'
import { connect, Effect } from 'dva';
import { Dispatch, AnyAction } from 'redux';
import { LoginStateIF } from '@/interfaces/stateIF';
import { LoginPropsIF } from '@/interfaces/propsIF';
import { Button, List, InputItem, Toast } from 'antd-mobile';
import { createForm } from 'rc-form'
import BizIcon from '@/components/BizIcon'
import { StateType } from './model';
import { ConnectState } from '@/models/connect';
import { validateErrorMessage } from '@/utils/tools';
import { Reducer } from 'redux';

import Logo from '@/assets/img/logo-white.png'
import styles from './index.less'

interface LoginProps {
    dispatch: Dispatch<AnyAction>;
    userLogin: StateType;
    submitting: boolean;
}
interface LoginState {
    type: string;
    autoLogin: boolean;
}

@connect(({ login, loading }: ConnectState) => ({
    userLogin: login,
    submitting: loading.effects['login/login'],
}))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文