我在一个proyect,我需要以一些不同的方式过滤一些信息,如ascendent,最近和其他一些。为此,我必须刷新页面并将该信息发送到同一页面。这是我想要的代码:
<TouchableOpacity
key='privacy'
onPress={() => Actions.quicksearch({ searchval: this.state.searchval, searchlable: this.state.searchlab, text: this.state.text, order: 'asc' })}
>
<Text style={styles.navmenuTitle}>
Name (A-Z)
</Text>
</TouchableOpacity>
我将它重定向到相同的页面,这是最简单的方法,但它可以打开任意数量的页面,并且所有页面都使用不同的过滤器。我也尝试使用action.refresh但没有任何反应。
谢谢!
答案 0 :(得分:4)
直接调用this.state.someVar = ...不会触发刷新操作。您可以手动拨打:
this.forceUpdate();
但不建议这样做。
更好的方法是调用setState(...):
this.setState(...); //Prefered
this.state.someVar = ... //Not recommended
this.forceUpdate()/ //Not recommended