【发布时间】:2019-11-24 08:25:25
【问题描述】:
我正在尝试使用 react-native redux 刷新 FlatList 数据。 在拉取 FlatList 数据时,加载图标会出现和消失,但列表没有显示我对数据库所做的任何更新。
代码如下:
class flatRedux extends Component {
componentWillMount() {
this.props.listShow();
}
onRefresh = () => {
this.props.loading = true,
this.props.flatlist= [],
() => {
this.props.listShow();
}
}
render() {
if (this.props.loading) {
return <Spinner size="large" />;
}
return (
<View style={styles.MainContainer}>
<SearchBox
placeholder="Search..."
onChangeText={this._onSearchChange}
/>
<FlatList
onRefresh={() => this.onRefresh()}
refreshing={this.props.loading}
data={this.props.flatlist}
extraData={this.props}
ItemSeparatorComponent={this.FlatListItemSeparator}
keyExtractor={(item, index) => index.toString()}
renderItem={({ item }) =>
<Text key={item.id} style={styles.FlatListItemStyle} >
{item.cl_name} {'\n'} {item.check} </Text>}
/>
</View>
);
}
}
const mapStateToProps = state => {
return {
flatlist: state.listShow.flatlist,
loading: state.listShow.loading
};
};
export default connect(mapStateToProps, { listShow, searchResult, searchShow })(flatRedux);
这是Reducer的代码:
import {FLAT_DATA } from '../actions/types';
const INITIAL_STATE = {
flatlist: [],
loading: true
};
export default (state = INITIAL_STATE, action) => {
console.log(action);
switch (action.type) {
case FLAT_DATA:
return { ...state, flatlist: action.payload, loading: false };
default:
return state;
}
};
【问题讨论】:
标签: reactjs react-native redux react-native-flatlist