使用Reactjs创建快速天气小部件应用程序

问题描述:

我想知道是否有一个可以快速创建的天气小部件示例,如果它很轻便,会更好。使用Reactjs创建快速天气小部件应用程序

我想分享创建一个使用JavaScript的jQuery的Reactjs应用程序的一些概念。这可以帮助学习比其他任何来源都快。下面是我使用的是什么Reactjs:

HTML:

<div style="width: 310px;display: block;float: left; padding: 20px;"> 
    <div id="weather-app"></div> 
</div> 
<script src='https://cdnjs.cloudflare.com/ajax/libs/react/0.14.7/react-with-addons.js'></script> 
<script src='https://cdnjs.cloudflare.com/ajax/libs/react/0.14.7/react-dom.js'></script> 
<script src="script.js"></script> 

JS:

var Main = React.createClass({ 
    getInitialState: function(){ 
    return { 
     isLoading: true, 
     toggleForm: false, 
     isError: false 
    } 
}, 
setError: function(value){ 
    this.setState({isError: value}); 
}, 
changeLoading: function(value){ 
    this.setState({isLoading: value}); 
}, 
onToggleForm: function(value){ 
    this.setState({toggleForm: value}); 
}, 
onFormSubmit: function(c, s){ 
    this.onToggleForm(false); 
    this.refs.change.toggleForm(); 
    this.refs.front.reRender(c, s); 
    this.setState({isError: false}); 
}, 
render: function(){ 
    return (
    <div id="weather" className="weather"> 
     <ChangeBtn ref="change" isLoading={this.state.isLoading} toggleForm={this.onToggleForm} /> 
     <Front ref="front" isLoading={this.state.isLoading} isError={this.state.isError} setError={this.setError} loadCallback={this.changeLoading} toggle={this.state.toggleForm} /> 
     <Form isLoading={this.state.isLoading} toggle={this.state.toggleForm} onFormSubmit={this.onFormSubmit} isError={this.state.isError} setError={this.setError} /> 
     <Spinner isLoading={this.state.isLoading} /> 
    </div> 
) 
} 
}) 

ReactDOM.render(<Main />, document.getElementById("weather-app")); 

1)上面的代码是预览只。完整示例可在此plnkr1链接中找到。

2)我创建使用jQuery的这里同样的例子:plnkr2

3)我在想,如果我建立同样的使用本地JavaScript进行非常轻量级的应用程序?然后我也创建了这个使用纯JavaScript的这里:plnkr3