小编bar*_*raz的帖子

React + Redux-router =未捕获错误:期望reducer成为一个函数

我的代码工作正常,但每当我犯一个编码错误并出现运行时错误时,我就会遇到烦人的问题.例如,在我的一个JSX页面中,我做了Date()new Date()不是报告实际错误而不是报告......

Uncaught Error: Expected the reducer to be a function.
Run Code Online (Sandbox Code Playgroud)

我做的任何错误几乎都会出现.报告来自createStore.js,我的configureStore.jsx代码如下.

有没有办法让我能够获得更好的错误报告,帮助我找出真正的问题?非常感谢任何帮助或想法!

这是我的设置供参考....

main.jsx

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { ReduxRouter } from 'redux-router';
import configureStore from './store/configureStore'
import routes from './routes';

const rootEl = document.getElementById('app-container');

const store = configureStore();

ReactDOM.render(
    <div>
        <Provider store={store}>
            <ReduxRouter routes={routes} />
        </Provider>
    </div>
    , rootEl
);
Run Code Online (Sandbox Code Playgroud)

configureStore.jsx

import { createHashHistory } from 'history';
import { …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router redux

19
推荐指数
2
解决办法
1万
查看次数

使用 TypeScript,我如何强输入 mysql 查询结果

我是 Typescript 的新手,无法确定我是否正确输入了查询结果。这是我的代码的本质...

import mysql2, {Pool} from "mysql2";
const pool: Pool = mysql2.createPool({...}).promise();

interface IUser {
    uid   : number;
    uname : string;
}

class UserController {

    public async getUser(id: number): Promise<IUser> {
        const [rows]: Array<{rows: IUser}> = await pool.query(
            "SELECT * FROM `users` WHERE `email` = ?",["me@me.org"]);        
        return rows;
    }
}
Run Code Online (Sandbox Code Playgroud)

TypeScript 编译器 (3.3.1) 抱怨我的return rows声明。

TS2740:类型“{rows: IUser;}”缺少来自类型“IUser”的以下属性:uid 和 uname。

如果我忽略// @ts-ignore一切都很好的回报。我把我的对象拿回来了,没有任何错误。

难道我做错了什么?


我做了一些更改,但老实说我很困惑为什么 TypeScript 没有抱怨。这似乎根本不对。

    class UserController {

        public async getUser(id: number): Promise<{rows: IUser}> { …
Run Code Online (Sandbox Code Playgroud)

typescript

10
推荐指数
3
解决办法
8421
查看次数

通过HTTPS在Java服务器之间进行大文件传输

我有一个中央服务器,许多分布式服务器需要以稍大的文件形式传输数据,500MB - 10GB +.服务器不在同一物理网络上,不能通过VPN相互连接.虽然我们正在尝试打开其他端口,但目前我们只能讨论443,HTTPS,这对我们的REST服务非常有用,但对于服务器之间的文件传输却很糟糕.

我知道这不像Stackoverflow那样具体,但我想知道:哪些方法可能比我尝试过的更好?

服务器A - >生成文件 - >通过https传输 - > DMZ - >代理传递 - >在服务器B接收

两台服务器都使用Java 1.8,Tomcat和Spring 4.1.4.RELEASE.DMZ只是Apache而且几乎不受我们的控制.

我尝试过的事情......

  1. 使用Spring的HttpInvokerProxyFactoryBean对服务进行RPC调用(这适用于较小的站点,但较大的站点通常在传输数据时丢弃连接)

  2. 使用Apache HttpPost的多部分表单帖子(这也有效,但是我们必须在apache/tomcat中配置文件限制,加上它的连接也不可靠)

  3. 使用名为RMIIO的库,如果配置正确,它基本上模拟HTTP上的RMI.这看起来很有希望,因为它从服务器请求流并从远程服务器写入流.我还没有真正通过HTTPS工作,而且该库是在2007年编写的(有些更新截至2016年7月),但感觉非常过时,没有高度维护,我怀疑有更好的方法来做这种现在的事情(不是我能找到它们)

  4. 看着gRPC,但意识到它只是一个二进制协议,如果我想获得流媒体效果,我必须基本上处理文件分块.

  5. 阅读有关使用Spring MVC开发非阻塞REST服务的文章,http://callistaenterprise.se/blogg/teknik/2014/04/22/c10k-developing-non-blocking-rest-services-with-spring-mvc/如果我们同时收到大量文件,我们会再次看起来很有趣,但我看不出它对单个文件传输有何帮助.

我看了很多其他的事情,并尝试了一些,但这一切似乎都是错的.当我读到有关大数据和Spark流或我看到的任何百万个流选项时,我觉得应该有类似的东西将一个文件从一个服务器传输到另一个服务器而不需要中间的代理.也许有,只是没有通过HTTPS.

如果知道传输的进度(两端)并且能够在出现连接问题或传输错误时能够恢复,那将会很高兴.

但任何方向或想法都会非常有用.感谢您的时间和意见.

java spring stream

5
推荐指数
0
解决办法
510
查看次数

标签 统计

java ×1

javascript ×1

react-router ×1

reactjs ×1

redux ×1

spring ×1

stream ×1

typescript ×1