gpt4 book ai didi

javascript - redux store state 的导出接口(interface)

转载 作者:行者123 更新时间:2023-11-30 14:05:12 35 4
gpt4 key购买 nike

开始制作 redux 模块后,我创建了以下文件:

//state.tsx
export default interface State {
readonly user: any;
readonly isLoggedIn: boolean;
}


//types.tsx
export default {
REQUEST: 'authentication/REQUEST',
SUCCESS: 'authentication/SUCCESS',
FAILURE: 'authentication/FAILURE',
LOGOUT: 'authentication/LOGOUT'
};


//reducers.tsx
import Types from './types';
import State from './state';
import { Reducer, AnyAction } from 'redux';

const initialState: State = {
user: null,
isLoggedIn: false
};

export default class {
reducer: Reducer<State> = (
state: State = initialState,
action: AnyAction
) => {
// brahbrah
};
}

//index.tsx
import reducer from './reducers';
import Types from './types';
import State from './state';

export default {
reducer,
Types,
// How to export State in this default export?
};

但我不确定如何在 index.tsx 中导出状态接口(interface)的定义。

当我简单地将 State 放在导出中时,它告诉我 'State' 仅指一种类型,但在这里用作值。 我明白了这是错误的方式,但是导出这个定义需要什么?

最佳答案

问题是您正在尝试导出对象,但 Typescript 类型和接口(interface)仅在编译之前存在。该键的对象值是什么?

// Typescript
interface Foo {};

export default {
Foo,
};

// Compiled Javascript
export default {
Foo: ???
};

我同意 TS 支持这种形式是合乎逻辑的,因为你可以单独导出接口(interface),但据我所知,你目前不能这样做,你需要单独导出。

export interface Foo {};

export default {
// Rest of the things
};

关于javascript - redux store state 的导出接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55554491/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com