Я пытаюсь использовать Redux для отображения данных из базы данных Firebase, но по какой-то причине this.props не определен
Я использовал RedEx для безошибочного отображения других данных на других страницах моей БД. Но здесь я застрял и не могу найти свою ошибку
Вот мой код. Я надеюсь, что кто-то может дать мне совет, что здесь не так
в моем invoice.js у меня есть:
const mapStateToProps = (state) => {
return {
startFireData: state.startFireData,
};
}
const mapDispatchToProps = (dispatch) => {
return {
watchInvoiceStartFire: () => { dispatch(watchInvoiceStartFire()) },
};
}
constructor(props) {
super(props);
this.props.watchInvoiceStartFire();
}
и в Render:
return (
<View style={styles.container}>
<LinearGradient
colors={['#3399ff', '#66b3ff', '#cccccc']}
style={styles.pageStyle}>
<Text style={styles.buttonText} >{this.props.startFireData.נפיץ}</Text>
<Text style={styles.buttonText} >{this.props.startFireData.עשן_חדש}</Text>
<Text style={styles.buttonText} >{this.props.startFireData.עשן_ישן}</Text>
<Text style={styles.buttonText} >דוחות</Text>
<Text style={styles.buttonText} >דוחות</Text>
</LinearGradient>
</View>
в моем редукционном файле:
const watchInvoiceStartFire = () =>{
return function(dispatch) {
firebase.database().ref("Invoices/startfire/ammo").on("value", function(snapshot) {
var startFireData = snapshot.val();
dispatch(setStartFireData(startFireData));
}, function(error) { });
};
}
const setStartFireData = (startFireData) =>{
return {
type: "setStartFireData",
value: startFireData
}
}
const reducer = (state = initialState, action) => {
switch(action.type) {
case "setStorageData":
return { ...state, storageData: action.value };
case "setOperationData":
return {...state, operationData: action.value};
case "setStartFireData":
return {...state, startFireData: action.value};
default:
return state;
}
};
Моя ошибка, я забыл добавить в исходное состояние
const initialState = {
personData: { },
storageData:{ },
operationData:{ },
startFireData:{ },
* * 1016};
Извините, что беспокою вас здесь