In reaktion native app habe ich 2 Seiten. Wenn ich einen Redox-Shop mit Daten auf der 2-Seite hochlade, gehe zurück zur 1-Seite - wie kann ich mit den hochgeladenen Daten von der 2-Seite auf den Laden zugreifen? Gibt es eine Möglichkeit, auf den Store mit den Daten aller reaktionsfähigen Seiten zuzugreifen? Vielleicht simoke Beispiel oder wo zu lesen? DankWie Redux-Speicher in reagieren native zwischen Seiten übergeben?
1page.js
class ScreenHome extends Component{
static navigationOptions = {
title: 'ScreenHome',
};
constructor(props){
super(props)
console.log("PROPS: ",props);
}
render() {
const { navigate } = this.props.navigation;
return (
<View>
<Button
title="Go to load data page"
onPress={() => navigate('New', { name: 'Jane' })}
/>
<Button
title="Get redux data"
onPress={() => {console.log(this.props)}}
/>
</View>
);
}
}
class ScreenRegister extends Component{
static navigationOptions = {
title: 'ScreenRegister',
};
render(){
return <Text>ScreenRegister</Text>
}
}
const MainScreenNavigator = DrawerNavigator({
Recent: {
screen: ScreenHome
},
All: {
screen: ScreenRegister
},
});
export default SimpleApp = StackNavigator({
Home: {
screen: MainScreenNavigator
},
Chat: {
screen: ScreenHome
},
New: {
screen: testScreen
}
});
const mapStateToProps = (state) => {
const {items, isFetching, done} = state.myTestData
return {testScreen:{items, isFetching, done}};
}
const mapDispatchToProps = (dispatch) => {
return {
getNewItems:() => {
dispatch(fetchData());
}
}
}
export default someTest = connect(
mapStateToProps,
mapDispatchToProps
)(SimpleApp)
2page.js
class testScreen extends Component{
static navigationOptions = {
title: 'testScreen.js',
};
_reduxStuff =() => {
this.props.getNewItems();
}
render() {
const { navigate } = this.props.navigation;
const {done, items, isFetching} = this.props.testScreen;
return (
<View>
<Text>Some new screen</Text>
<Button
title="Load Data"
onPress={() => this._reduxStuff()}
/>
</View>
);
}
}
const mapStateToProps = (state) => {
const {items, isFetching, done} = state.myTestData
return {testScreen:{items, isFetching, done}};
}
const mapDispatchToProps = (dispatch) => {
return {
getNewItems:() => {
dispatch(fetchData());
}
}
}
export default FilterLink = connect(
mapStateToProps,
mapDispatchToProps
)(testScreen)
Danke. Ich habe einen Verbindungscontainer für jede Seite hinzugefügt, aber nicht meinen Laden auf der ersten Seite, aber alles ist auf den nächsten Seiten in Ordnung. Gibt es Probleme mit dem StackNavigator und Redux? – SERG
Es gibt kein Problem. Vielleicht geht es um Ihren Code in Container oder Reducer. Überprüfen Sie, ob der Container den Status "Geschäft" erhält oder nicht. Wenn es nicht Überprüfer ist. –