【问题标题】:What is the correct way of setting React State with Oboe.js?使用 Oboe.js 设置 React State 的正确方法是什么?
【发布时间】:2020-06-30 18:08:13
【问题描述】:

我是 React-JS 和 Oboe.js 的新手。我正在尝试通过使用 Oboe 流式传输结果来加快一些 JSON 数据的加载。不幸的是,我无法在功能块中更新状态。所以我尝试调用另一个执行 stateSet 的函数。以下是我尝试过但不起作用的方法。它出错了使用搜索结果将其呈现在表中的映射函数。

var that = this;

oboe({
            url: //url,
            method: 'POST',          // optional
            body: //POST-DATA,     // optional
        })
        .on('node', '*', function(things){

            that.updateState(things);
            // This callback will be called everytime a new object is
            // found in the foods array.
      
            console.log( 'Go eat some', things.id);
         });

 updateState = (props) => {
        this.setState({search-result: props});
    }

我不确定使用 oboe.js 和 React 更新状态的正确方法是什么?

是否有更好的库可用于将 JSON 数据流式传输到 React?

【问题讨论】:

    标签: reactjs oboe.js


    【解决方案1】:

    推荐方法

    如果您有能力在服务器端进行更改,那么我不建议您为此使用双簧管。如果您唯一的选择是加载一个大型 JSON 对象,并且您希望在解析整个对象之前访问该数据,那么双簧管很有用。

    优化在客户端加载大量数据的最佳方法是一次发送更少的数据并发出多个请求。 web-socket 是最好的方法,Socket.io 是一个很好的工具。

    如果您需要使用双簧管

    我正在整理一个 oboe.js + react 的示例供您查看,尽管这很棘手,因为 Oboe 的大部分活动都发生在 React 生命周期之外。我会用那个例子更新这个答案?

    【讨论】:

    • 感谢您的建议!我会研究 socket.io 看看我是否可以使用它。
    猜你喜欢
    • 1970-01-01
    • 2012-08-02
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 2018-12-20
    相关资源
    最近更新 更多