- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经尝试调试这段代码有一段时间了,但我似乎无法理解这里的问题是什么。我试图将我的顶级应用程序连接到 redux 商店,但我总是得到一个空商店,我不明白为什么。代码如下:
index.tsx
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { App } from './App';
import { Store } from 'redux';
import createStore from './model/configureStore';
import { State } from './model/types';
const store: Store<State> = createStore();
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
);
应用程序.tsx
import React from 'react';
import { State } from './model/types';
import { connect } from 'react-redux';
export const App:React.FunctionComponent = (props) => {
console.log(props);
return <div>Hello</div>;
};
const mapStateToProps = (state: State) => ({
isLoading: state.isLoading,
});
export default connect(mapStateToProps)(App);
(由于某些未知原因,上面的控制台日志将返回一个空对象)。
正在加载.ts
import { BooleanAction } from '../utils/redux-utils';
const IS_LOADING = 'IS_LOADING_GENERAL';
export const setIsLoading = (payload: boolean) =>
<BooleanAction>{
type: IS_LOADING,
payload,
};
const defaultState = true;
export const reducer = (
state: boolean = defaultState,
action: BooleanAction
) => {
switch (action.type) {
case IS_LOADING:
return action.payload;
default:
return state;
}
};
combineReducers.ts
import { ReducersMapObject, combineReducers } from 'redux';
import { reducer as isLoading } from './loading';
import { State } from './types';
const reducerMap: ReducersMapObject<State> = {
isLoading,
};
export default combineReducers<State>(reducerMap);
configureStore.ts
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import rootReducer from './combineReducers';
export default () => createStore(rootReducer, applyMiddleware(thunk));
该代码对我来说似乎是正确的,但它没有给我预期的结果。只是为了让它更加困惑,如果我不将我的应用程序包装在 <Provider>
中在ReactDOM.render()
函数,一切正常,但我想在顶层处理一些加载状态,所以我需要它以这种方式工作。
提前谢谢您!!
最佳答案
在 index.ts
中,您将导入命名的 App
组件,而不是默认连接的 App
:
import { App } from './App';
应该是这样
import App from './App';
关于javascript - 在顶层将 Redux 连接到我的应用程序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59531706/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!