全局访问REACT js中所有页面的数据

时间:2016-12-14 11:01:51

标签: reactjs

在头部反应组件类中定义了函数Search

 Search: function()
 { 
   var author=$('#author').val();   
   var bookname=$('#title').val();  
   var isbn=$('#isbn').val();   
   var keywords=$('#keywords').val();   
   var publisher=$('#publisher').val();       
   var url=VDOMAIN+"/aodrbooks.php?action=srch&author="+author+"&isbn="+isbn+"&publisher="+publisher+"&name="+bookname+"&price=''";   
   $.ajax({url:url,                                
       success: function(result){
           resp = JSON.parse(result);   //this data is an array     
             if(resp['count']==1){                
               location.href=VDOMAIN+"odrbooks?pagename=bkd&bid="+resp['results'][0]['bookid']+"&bkname="+resp['results'][0]['name'];
              }
              else{                     
                    location.href=VDOMAIN+"odrbooks?pagename=cat&type=&author="+author+"&bkname="+bookname;
                  }
           }
         });  
  },

这里我如何全局制作 resp 数据,以便我可以在任何组件的任何页面中访问它?

我尝试使用this.state.data=respthis.props.data=respthis.setState({data:resp})

1 个答案:

答案 0 :(得分:0)

为此目的使用状态容器。目前最受欢迎的是https://jsfiddle.net/gnv1x84k/

您可以在您的reducer中调度操作并存储成功的响应,该响应代表您的应用程序状态。

然后将该reducer连接到需要resp数据的组件,并通过props使用它。