import $ from 'webpack-zepto'; import React from 'react';
var Kem = React.createClass({ render(){
var dataget = JSON.parse(this.props.data);
//报错 VM233577:1 Uncaught SyntaxError: Unexpected end of input
return (<ul>{ dataget }</ul>)
}
})
var Home = React.createClass({ getDefaultProps(){ return {url:"getApi"} }, getData(){ $.ajax({ url: this.props.url, dataType: 'json', type: 'GET', success: function(data) { var datastring = JSON.stringify(data); var dataobj = JSON.parse(datastring); console.log(dataobj);//可获取 this.setState({data: JSON.stringify(data) });
}.bind(this)
});
},
getInitialState:function(){
return {data:[]}
},
componentDidMount: function() {
this.getData();
},
render(){
return (
<div>
<Kem data = {this.state.data}/>
</div>)
}
})
export default Home
通过 ajax 获取的一个对象传给 state 的 data 先转成 string 再转成对象,可是转的时候报错。
1
bdbai 2016-05-14 13:43:57 +08:00 via Android
不要把 json 字符串传给 state ,传对象。
|
3
bdbai 2016-05-14 16:17:32 +08:00 via Android
就是在 success 回调函数里面 this.setState({ data: data }); 没必要再转了。 Kem 组件直接读 props 就可以,不用另外 Parse 。
|