与ListView不同,我们可以更新this.state.datasource。是否有任何方法或示例更新FlatList或重新呈现它?
我的目标是在用户按下按钮时更新文本值。
renderEntries({ item, index }) {
return(
<TouchableHighlight onPress={()=> this.setState({value: this.state.data[index].value+1})>
<Text>{this.state.data[index].value}</Text>
</TouchableHighlight>
)
}
<FlatList
ref={(ref) => { this.list = ref; }}
keyExtractor={(item) => item.entry.entryId}
data={this.state.data}
renderItem={this.renderEntries.bind(this)}
horizontal={false} />
使用extraData
FlatList组件上的属性。
如文档所述:
通过传递
extraData={this.state}
给FlatList
我们,确保更改FlatList
时将重新呈现自己state.selected
。如果不设置此道具,FlatList
就不会知道它需要重新渲染任何项目,因为它也是a
PureComponent
,并且道具比较不会显示任何更改。
让我先说我显然对ajax / jsf非常陌生,所以请原谅我。首先,我一直在阅读一些丰富的面孔文档,但仍然不清楚“渲染”和“重新渲染”之间的区别。 我试图实现的是一个具有两个“区域”的页面,默认情况下这些“区域”是隐藏的/不呈现的。当用户选择
在我点击提交按钮后,我如何使页面刷新或更新页面中的内容?我尝试将(我知道不是React方式,具有相同的结果)放入提交函数(、)中,但POST请求没有得到响应 OpenTickets.js CardConversation.jsx
我从这里修改了以下组件定义,如下所示。但是,与示例不同的是,每次在组件上移动鼠标时,组件都会重新呈现。 重新渲染非常引人注目: 有人知道为什么会这样吗?
在基于多个用户上下文呈现整个页面并发出多个请求之后,我希望用户能够切换上下文并再次重新呈现所有内容(重新发送所有请求,等等)。如果我只是将用户重定向到其他地方,事情就会正常工作: 如果使用,则上等待响应的某些请求将被取消,因此我不能使用它。此外,黑客也不起作用(什么也不会发生)。 有没有另一种方法可以重新呈现页面,而不用再次手动发出所有请求?
我是新来的反应。作为一个学习练习,我正在构建一个国际象棋应用程序 我想根据父级中的状态更改子级的DOM。当前,在父级组件的状态变化时,子级组件没有变化。 PS:请忽略任何语法错误。这段代码是实际代码的精简。如果你想看完整的代码,请看这里