【发布时间】:2021-09-13 07:06:24
【问题描述】:
我的组件只有添加和减号按钮。如果我使用来自react-redux 的useDispatch,它将更新redux 状态。问题是当我使用store.dispatch() 时,它不会更新状态。
组件
import React from 'react';
import { SafeAreaView } from 'react-native';
import moment from 'moment';
import { FlatList, Text, View, Button } from 'react-native';
import { Card, Paragraph, Divider } from 'react-native-paper';
import { useSelector, useDispatch } from 'react-redux';
import AppContainer from '../Common/AppContainer';
import LinearButton from '../Common/Button';
import translation from '../../Util/Translation';
import styles from '../../Components/Styles/Notification/Notification';
import NotificationAction from '../../Redux/Notification/Actions';
import createStore from '../../Redux/CreateStore';
const { t } = translation;
const NotificationScreen = (props) => {
const { NotificationDetails, onSendNotificationPress } = { ...props };
const count = useSelector((state) => state.notificationReducer);
const { store } = createStore();
const dispatch = useDispatch();
const addPress = () => {
store.dispatch(NotificationAction.add(23));
};
return (
<SafeAreaView style={styles.container}>
<AppContainer title={t('NOTIFICATION')} leftIcon="ios-arrow-back" isLeft>
<FlatList
data={NotificationDetails.sort((_val, $val) => new Date($val.data) - new Date(_val.data))}
keyExtractor={(item, i) => i.toString()}
showsVerticalScrollIndicator={false}
ItemSeparatorComponent={() => <Divider />}
renderItem={({ item }) => {
return (
<View style={styles.fltLst}>
<View style={styles.flt}>
<View style={styles.drtn}>
<Text style={styles.hdr}>Notification</Text>
<Paragraph> {moment(item.data).startOf().fromNow()}</Paragraph>
</View>
<Text>{item.Subscriber_Status}</Text>
</View>
</View>
);
}}
/>
</AppContainer>
<View style={styles.buttonView}>
<View style={styles.button}>
<LinearButton title={t('SENDNOTIFICATION')} onPress={onSendNotificationPress} />
</View>
<Button title="Add" onPress={addPress} />
<Text style={[styles.hdr, { alignSelf: 'center' }]}> {count}</Text>
<Button title="Remove" />
</View>
</SafeAreaView>
);
};
export default NotificationScreen;
【问题讨论】:
标签: react-native redux react-redux