6

我从 react-starter-kit 项目创建了一条新路由,它异步获取一些数据,然后渲染它,但一秒钟后页面重新加载并显示一条消息“找不到页面 - 抱歉,你是试图查看不存在”。

在我看到的控制台中 - “警告:文本内容不匹配。服务器:“余额”客户端:“找不到页面”

async function action() {

let bittrex = new ccxt.bittrex ({
    'apiKey': '',
    'secret': ''
})

try {

    // fetch account balance from the exchange
    let bittrexBalance = await bittrex.fetchBalance ()
    /**** commenting above and uncommenting this block stops it from happening.... 
    let bittrexBalance = {};
    bittrexBalance.info= [];
    let currency = {};
    currency.Currency = "BTC";
    currency.Value=999;
    // output the result
    bittrexBalance.info.push(currency);*/
    console.log ('balance', bittrexBalance)

    let balances = [];
    balances.push(bittrexBalance)
    return {
        title: "Balances",
        component: (
            <Layout>
                <Balances balances={balances} />
            </Layout>
        ),
    };


} catch (e) {
    console.log('SOME sort of error', e);
}

有谁知道这可能是什么?

编辑添加,我现在意识到,如果我禁用 Javascript,一切都会完美运行......

它似乎通过通用路由器运行了两次。第一次它第二次通过路由器时似乎有一个参数似乎有一个 {0:

这是迄今为止我发现的唯一线索......我不明白为什么它会在页面加载后重新加载......

未找到页面错误来自它正在经历:

第二次捕获(e)......我怀疑ccxt库中发生了一些事情,但问题实际上是它被第二次调用,因为页面以某种方式重新加载......

4

2 回答 2

4

看来您必须先打电话await bittrex.loadProducts()才能取回余额。

编辑:似乎也bittrex.loadProducts()已被bittrex.loadMarkets() 更多信息重命名在这个问题上 github

于 2018-01-19T11:09:45.833 回答
4

您的服务器代码遇到异常,这变成拒绝路由,因为action方法返回undefined,所以服务器将失败 - 下一个路由不适合,最后它到达未找到的路由。

于 2018-01-20T06:05:04.460 回答