- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在下面的代码中,当 campaignsUpdated
调用 setState
时,render
会被记录到控制台,而不是 renderRow
:
var React = require('react-native'),
Bus = require('../Bus'),
styles = require('../Styles'),
CampaignsStore = require('../stores/Campaigns'),
CampaignItem = require('./CampaignItem'),
{
Component,
Text,
TextInput,
ListView,
View,
NavigatorIOS,
ActivityIndicatorIOS
} = React
class CampaignList extends Component {
constructor(props) {
super(props)
this.state = {
dataSource: new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2})
}
}
componentDidMount() {
this.addListeners()
Bus.emit('campaigns:search', '')
}
componentWillUnmount() {
this.removeListeners()
}
render() {
console.log('render')
return (
<View style={styles.container}>
<TextInput
style={styles.searchInput}
placeholder='Campaign Name'
value={this.state.campaignName}
onChange={this.campaignSearchChanged.bind(this)}/>
<ListView
dataSource = {this.state.dataSource}
renderRow = {this.renderRow.bind(this)}/>
</View>
)
}
renderRow(campaign) {
console.log('renderRow')
return <CampaignItem campaign={campaign}/>
}
addListeners() {
Bus.on({
'campaigns:updated': this.campaignsUpdated.bind(this)
})
}
removeListeners() {
Bus.off({
'campaigns:updated': this.campaignsUpdated.bind(this)
})
}
campaignsUpdated(event) {
var campaigns = event.data
this.setState({
dataSource: this.state.dataSource.cloneWithRows(campaigns)
})
}
campaignSearchChanged(event) {
var campaignName = event.nativeEvent.text
Bus.emit('campaigns:search', campaignName)
}
}
module.exports = CampaignList
我在这里做错了什么?
最佳答案
您正在向 ListView
传递一个返回组件的函数 renderRow
。一旦它通过,您将必须在 ListView
中调用该函数,大概是在 campaigns
的映射期间。
关于javascript - react native : renderRow not executed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29687885/
我试图将一个函数绑定(bind)在 renderRow 之后执行。网格事件。所以我使用了 DOJO 中的aspect.after,但更重要的是。此操作在行确实呈现之前执行,因此 divs\tds 尚未
在下面的代码中,当 campaignsUpdated 调用 setState 时,render 会被记录到控制台,而不是 renderRow: var React = require('react-n
我似乎不知道如何使用 highlightRow属性 ListView 的 renderRow。 ListView.renderRow Documentation状态... (rowData, sect
我正在尝试使用带有树扩展的 dgrid 来设置行样式。为此,我按照https://github.com/SitePen/dgrid/issues/380中的建议使用aspect.after如果您不使用
我在获取字符串数组并使用 map() 函数将其“转换”为 JSX 以便 JSX 可以在 ListView 中生成一行或一行时遇到问题。 renderRow: function(rowData) {
我正在尝试获取 renderRow 的当前索引,但我似乎没有得到它。我还尝试将 i 添加为 renderRow 中的变量。我正在制作高分,如果我可以从 renderRow 本身获取数字,那将非常方便。
我在为 ListView 的一行内的 onPress 事件运行函数时遇到问题。我正在按照 React Native 教程尝试从那里继续。看起来是用的ES6语法风格。 这是代码的相关部分。 /** *
我有一个 ListView ,每当用户点击一个项目时,我想用 onPress(可触摸突出显示)做一些事情。 我尝试定义函数然后在 onPress 中调用它们,但它们没有用。 首先我定义了一个这样的函数
我试图在更新表中使用的数据后刷新我的 Angular 表。 文档说“您可以通过调用其 renderRows() 方法来触发对表的呈现行的更新。”但它不像普通的子组件,我可以在其中使用“@ViewChi
[ 24.1 ] 您使用的 React Native 版本是什么? [两者]这是否会发生在 iOS、Android 或两者上? [ Mac ] 您使用的是 Mac、Linux 还是 Windows?
在 React-Native 中使用 ListView,我看到它不一样,将 Prop 移动到列表项, 仅通过引用将函数作为 props 传递,并在子组件中调用参数,或者 将定义参数的函数作为 prop
我有一个 ListView,我正在尝试访问我在 renderRow 中编写的自定义组件的引用。我需要对自定义组件进行一些直接操作,因此我需要获取这些组件的引用。 好像其他人也遇到过这个问题。我已尝试遵
我正在努力遵循这个:ListView grid in React Native但也有 renderHeader() 。当我同时拥有 renderHeader() 和 renderRow() 时 con
我是一名优秀的程序员,十分优秀!