簡體   English   中英

使用 Oboe.js 設置 React State 的正確方法是什么?

[英]What is the correct way of setting React State with Oboe.js?

我是 React-JS 和 Oboe.js 的新手。 我正在嘗試通過使用雙簧管來加速加載一些 JSON 數據到 stream 結果。 不幸的是,我無法在 function 塊中更新 state。 所以我嘗試調用另一個執行 stateSet 的 function。 以下是我嘗試過但不起作用的方法。 它出錯了映射 function,該映射使用搜索結果將其呈現在表中。

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 更新 state 的正確方法是什么?

是否有更好的庫可用於將 JSON 數據流式傳輸到 React?

推薦的方法

如果您有能力在服務器端進行更改,那么我不建議您為此使用雙簧管。 如果您唯一的選擇是加載大型 JSON object 並且您想在整個事情被解析之前訪問該數據,則雙簧管很有用。

優化在客戶端上加載大量數據的最佳方法是一次發送更少的數據並發出多個請求。 web-socket 是最好的方法, Socket.io是一個很好的工具。

如果您需要使用雙簧管

我正在整理一個 oboe.js + react 的示例供您查看,盡管這很棘手,因為 Oboe 的大部分活動都發生在 React 生命周期之外。 我會用那個例子更新這個答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM