天天看點

【ReactJs學習筆記】【狀态State && 用JQ和ajax從伺服器端得到資料】目錄資料準備JQuery準備狀态StateJQuery&&Ajax更新擷取資料的狀态快捷連結

【Javascript學習筆記】

目錄

  • 目錄
  • 資料準備
    • 傳遞資料的連結
    • 模拟資料
  • JQuery準備
    • 安裝jspm包管理
    • 在本地目錄安裝包管理
    • 下載下傳JQuery
    • 檢查依賴配置
  • 狀态State
  • JQuery&&Ajax
    • 效果
  • 更新擷取資料的狀态
  • 快捷連結

資料準備

傳遞資料的連結

index.js

- var commen = [
-     { "author": "KXX", "date": "2018-8-17", "text": "天氣不錯!" },
-     { "author": "KXX2", "date": "2018-8-17", "text": "天氣不錯2!" }
- ];

- ReactDOM.render(<App data={comments} />, document.getElementById('root'));
+ ReactDOM.render(<App url="./comments.json" />, document.getElementById('root'));
           

模拟資料

建立一個comments.json到index.html檔案的目錄裡,用json檔案模仿伺服器請求的連結擷取資料。

comments.json

[
    { "author": "KXX", "date": "2018-8-17", "text": "天氣不錯!" },
    { "author": "KXX2", "date": "2018-8-17", "text": "天氣不錯2!" }
]
           

JQuery準備

安裝jspm包管理

【ReactJs學習筆記】【狀态State &amp;&amp; 用JQ和ajax從伺服器端得到資料】目錄資料準備JQuery準備狀态StateJQuery&amp;&amp;Ajax更新擷取資料的狀态快捷連結

在本地目錄安裝包管理

【ReactJs學習筆記】【狀态State &amp;&amp; 用JQ和ajax從伺服器端得到資料】目錄資料準備JQuery準備狀态StateJQuery&amp;&amp;Ajax更新擷取資料的狀态快捷連結

下載下傳JQuery

【ReactJs學習筆記】【狀态State &amp;&amp; 用JQ和ajax從伺服器端得到資料】目錄資料準備JQuery準備狀态StateJQuery&amp;&amp;Ajax更新擷取資料的狀态快捷連結

檢查依賴配置

【ReactJs學習筆記】【狀态State &amp;&amp; 用JQ和ajax從伺服器端得到資料】目錄資料準備JQuery準備狀态StateJQuery&amp;&amp;Ajax更新擷取資料的狀态快捷連結

狀态State

CommentBox .js

...

+ import $ from 'jquery';

class App extends Component {
+  constructor(props){
+    super(props);
+    this.state = {
+      data:[],
+    };
+  }

  render() {

...
-        <CommentBox data={this.props.data} />
+        <CommentBox data={this.state.data} />

...
           

通過建構構造函數,準備用于放置從父元件擷取的資料的容器— —state狀态彙中

JQuery&&Ajax

...

  constructor(props){

    ...

    console.log(this.props.url);
    $.ajax({
      url:this.props.url,
      dataType:'json',
      cache:false,
      success:comments => {
        this.setState({
          data:comments
        });
      },
      error:(xhr,status,error) => {
        console.log(error);
      }
    });
  }
           

通過this.setState擷取資料後實作狀态更新。

效果

【ReactJs學習筆記】【狀态State &amp;&amp; 用JQ和ajax從伺服器端得到資料】目錄資料準備JQuery準備狀态StateJQuery&amp;&amp;Ajax更新擷取資料的狀态快捷連結

更新擷取資料的狀态

App.js

...

  constructor(props){
    ...

    this.getComments();
    setInterval(() => this.getComments(),);//每五秒更新請求
  }

  getComments(){
    $.ajax({
      url:this.props.url,
      dataType:'json',
      cache:false,
      success:comments => {
        this.setState({
          data:comments
        });
      },
      error:(xhr,status,error) => {
        console.log(error);
      }
    });
  }

...
           

快捷連結

全部React學習筆記的目錄 Click Here>>

全部Javascript學習筆記的目錄 Click Here>>

Less學習筆記 Click Here>>

安利一波前端開發推薦使用的工具 Click Here>>

github各類實戰練習源碼下載下傳 Click Here>>

如果你覺得我的東西能幫到你,無限歡迎給我的github庫點個收藏Star~0v 0~

繼續閱讀