var UserGist = React.createClass({
getInitialState() {
return {
username: '',
lastGistUrl: ''
};
},
componentDidMount() {
this.serverRequest = $.get(this.props.source, function (result) {
var lastGist = result[0];
this.setState({
username: lastGist.owner.login,
lastGistUrl: lastGist.html_url
});
}.bind(this));
},
componentWillUnmount() {
this.serverRequest.abort();
},
render() {
return (
<div>
{this.state.username} 用户最新的 Gist 共享地址:
<a href={this.state.lastGistUrl}>{this.state.lastGistUrl}</a>
</div>
);
}
});
'use strict';
var UserGist = React.createClass({
displayName: 'UserGist',
getInitialState: function getInitialState() {
return {
username: '',
lastGistUrl: ''
};
},
componentDidMount: function componentDidMount() {
this.serverRequest = $.get(this.props.source, function (result) {
var lastGist = result[0];
this.setState({
username: lastGist.owner.login,
lastGistUrl: lastGist.html_url
});
}.bind(this));
},
componentWillUnmount: function componentWillUnmount() {
this.serverRequest.abort();
},
render: function render() {
return React.createElement(
'div',
null,
this.state.username,
' \u7528\u6237\u6700\u65B0\u7684 Gist \u5171\u4EAB\u5730\u5740\uFF1A',
React.createElement(
'a',
{ href: this.state.lastGistUrl },
this.state.lastGistUrl
)
);
}
});
https://www.runoob.com/react/react-ajax.html
https://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=latest%2Creact%2Cstage-2&targets=&browsers=&builtIns=false&code=var%20UserGist%20%3D%20React.createClass(%7B%0D%0A%20%20getInitialState()%20%7B%0D%0A%20%20%20%20return%20%7B%0D%0A%20%20%20%20%20%20username%3A%20''%2C%0D%0A%20%20%20%20%20%20lastGistUrl%3A%20''%0D%0A%20%20%20%20%7D%3B%0D%0A%20%20%7D%2C%0D%0A%0D%0A%20%20componentDidMount()%20%7B%0D%0A%20%20%20%20this.serverRequest%20%3D%20%24.get(this.props.source%2C%20function%20(result)%20%7B%0D%0A%20%20%20%20%20%20var%20lastGist%20%3D%20result%5B0%5D%3B%0D%0A%20%20%20%20%20%20this.setState(%7B%0D%0A%20%20%20%20%20%20%20%20username%3A%20lastGist.owner.login%2C%0D%0A%20%20%20%20%20%20%20%20lastGistUrl%3A%20lastGist.html_url%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D.bind(this))%3B%0D%0A%20%20%7D%2C%0D%0A%0D%0A%20%20componentWillUnmount()%20%7B%0D%0A%20%20%20%20this.serverRequest.abort()%3B%0D%0A%20%20%7D%2C%0D%0A%0D%0A%20%20render()%20%7B%0D%0A%20%20%20%20return%20(%0D%0A%20%20%20%20%20%20%3Cdiv%3E%0D%0A%20%20%20%20%20%20%20%20%7Bthis.state.username%7D%20%E7%94%A8%E6%88%B7%E6%9C%80%E6%96%B0%E7%9A%84%20Gist%20%E5%85%B1%E4%BA%AB%E5%9C%B0%E5%9D%80%EF%BC%9A%0D%0A%20%20%20%20%20%20%20%20%3Ca%20href%3D%7Bthis.state.lastGistUrl%7D%3E%7Bthis.state.lastGistUrl%7D%3C%2Fa%3E%0D%0A%20%20%20%20%20%20%3C%2Fdiv%3E%0D%0A%20%20%20%20)%3B%0D%0A%20%20%7D%0D%0A%7D)%3B%0D%0A%0D%0A&experimental=false&loose=false&spec=false&playground=true