2016-08-16 257 views
0

在我的反应应用程序中,我试图使用document.getElementByID(“id_of_div”)来读取使用innerHTML写入UI的元素,如下面的代码所示。我正在使用反应并直接与DOM进行交互,这不是React的做事方式。请建议我如何改变这种方法并写入我的数据,并将其作为对象存储为反应中的UI。 在此先感谢。如何在不访问React的情况下获取div元素?

var uname = this.state.appuser; 
    axios.get(url).then(function(response) { 
     var display_city = response.data.data.request[0].query; 
     var Date1 = response.data.data.weather[0].date; 
     var windSpeed = response.data.data.current_condition[0].windspeedKmph; 
     var maxTempC = response.data.data.weather[0].maxtempC; 
     var minTempC = response.data.data.weather[0].mintempC; 
     var humidity = response.data.data.current_condition[0].humidity; 
     var visibility1 = response.data.data.current_condition[0].visibility; 
     var myobj = { 
      welcome_user: uname, 
      disp_city: display_city, 
      date: Date1, 
      wind_speed: windSpeed, 
      maxtempC: maxTempC, 
      mintempC: minTempC, 
      humid: humidity, 
      visibility: visibility1 
     } 
     console.log(myobj); 
     document.getElementById("welcome").innerHTML = "Welcome " + myobj.welcome_user; 
     document.getElementById("cityHolder").innerHTML = myobj.disp_city; 
     document.getElementById("date").innerHTML = myobj.date; 
     document.getElementById("windspeed").innerHTML = myobj.wind_speed + " kmph"; 
     document.getElementById("maxtemp").innerHTML = myobj.maxtempC + " C"; 
     document.getElementById("mintemp").innerHTML = myobj.mintempC + " C"; 
     document.getElementById("humidity").innerHTML = myobj.humid + " %"; 
     document.getElementById("visibility").innerHTML = myobj.visibility + "%"; 

    }).catch(function(error) { 
     console.log(error); 
    }); 

}, 

我不想通过的document.getElementById访问另一个组件定义的内部元素(“DIVID”) 什么反应从MyObj中物体推着我的数据到用户界面的方法是什么?

回答

0

我刚刚开始学习反应,但我认为从阅读文档可以使用下面的内容。

// tutorial1.js 
var CommentBox = React.createClass({ 
    render: function() { 
    return (
     <div className="commentBox"> 
     Hello, world! I am a CommentBox. 
     </div> 
    ); 
    } 
}); 
ReactDOM.render(
    <CommentBox />, 
    document.getElementById('content') 
); 

Documentation Here

相关问题