【发布时间】:2015-11-23 02:00:10
【问题描述】:
我有以下代码,导致this.state 成为undefined:
articles.js
const React = require('react-native')
const _ = require('lodash')
const styles = require('../styles/articles')
const api = require('../data/api')
const {
ListView,
View,
Text,
Image
} = React
const Articles = React.createClass({
getInitialState: () => {
return { articles: [] }
},
componentDidMount: () => {
const self = this
const body = [{ screen_name: 'wired' }]
api.get('timelines', body)
.then(data => {
self.setState({ articles : data })
})
},
renderArticle: article => {
const { container, thumbnail, rightContainer, title, year } = styles;
return (
<View key={article.id} style={container}>
<Text style={title}>{article.title}</Text>
</View>
)
},
render: () => {
console.log('render', this.state)
const articles = _.map(this.state.articles, article => renderArticle(article), this)
return <View style={styles.listView}>{articles}</View>
}
})
module.exports = Articles
index.ios.js
const React = require('react-native')
const Articles = require('./src/components/articles')
React.AppRegistry.registerComponent('movies', () => Articles)
render 方法中的console.log 表示this.state 未定义。我做错了什么?
【问题讨论】:
标签: javascript reactjs react-native