routersModel.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { CommonActions } from "@react-navigation/native";
  2. export default {
  3. state: {
  4. routerState: "",
  5. nowName: "",
  6. navigation: "",
  7. topNavigation: "",
  8. },
  9. actions: ({ model, setState }) => ({
  10. setTopNavigation(navigation) {
  11. console.log(navigation);
  12. setState({ topNavigation: navigation });
  13. },
  14. setNavigation(navigation) {
  15. setState({ navigation: navigation });
  16. },
  17. pushTopRouter(to, screen, params) {
  18. const { topNavigation } = model();
  19. topNavigation.navigate(to, { screen: screen, params: params });
  20. },
  21. replaceTopRouter(to) {
  22. const { topNavigation } = model();
  23. topNavigation.replace(to);
  24. },
  25. pushRouter(to) {
  26. const { navigation } = model();
  27. navigation.navigate(to);
  28. },
  29. replaceRouter(to, screen, params) {
  30. const { navigation } = model();
  31. navigation.replace(to, { screen: screen, params: params });
  32. },
  33. backRouter() {
  34. const { navigation } = model();
  35. navigation.goBack();
  36. },
  37. resetRouter(to) {
  38. const { navigation } = model();
  39. navigation.reset(to);
  40. },
  41. }),
  42. };