240 发简信
IP属地:青海
  • 120
    苹果开发者账号续费

    根据当地政策,自 2019 年起,所有本人位于中国大陆或所在组织位于中国大陆的帐户持有人皆需要进行一次性的身份验证。现在,您必须通过该验证才能续订 Apple Develop...

  • MRC

    MRC环境下 等同于

  • iOS内购遇到的问题

    1、一定要选择正确的内购类型(如果用到类似购买课程的,考虑增加虚拟币),并且虚拟币不能与安卓通用2、订阅项目享受权益最少为7天3、购买内购项目时不能强制用户登录,虽然可以引诱...

  • 120
    react-native实现选项卡

    rn项目,需要用到选项卡组件,网上搜到react-native-scrollable-tab-view,但他的tab样式不能满足我们的UI设计,需要重写tab条。因此就打算参...

  • iOS审核被拒原因总结

    1、Guideline 4.3 - Design We noticed that your app provides the same feature set as othe...

  • react-native项目安装mobx时装饰器配置

    1、rn项目,通过 安装mobx后,会报装饰器的错误,通过 并在package.json中添加: 重新运行项目,可以正常运行了。以下为package.json中的代码:

  • 今天又看了下文档,this.props.navigation.navigate('xxx')这样跳转,上边那种方法不好

    react-navigation goBack返回指定页面

    重新看了下文档 所以只需要this.props.navigation.navigate('xxx')这样就可以了,下边方法没用了 1.问题react-navigation设置...

  • 120
    探究KVC本质

    细致的看了下KVC的东西,记录一下。 KVC:key-value-coding,键值编码。 KVC可以干什么?利用KVC可以给类的属性、成员变量赋值。 常用方法:- (voi...

  • 120
    UIImage 缓存

    移动端图片类型的支持情况 Android 的图片编码解码是由 Skia 图形库负责的,Skia 通过挂接第三方开源库实现了常见的图片格式的编解码支持。目前来说,Android...

  • 下啦刷新应该放在tabbar下边吧

    React Native 结合ScrollableTab、RefreshControl和FlatList实现新闻分类列表

    正好刚开始学RN,熟悉一下控件和基本使用。 涉及的知识点: 1、fetch网络请求,get 拼接参数,解析json。2、ScrollableTabView、Scrollabl...

  • 排序算法

    1、冒泡排序 2、选择排序 3、插入排序 4、希尔排序 5、堆排序 6、归并排序 7、快速排序

  • 120
    react-navigation goBack返回指定页面

    重新看了下文档 所以只需要this.props.navigation.navigate('xxx')这样就可以了,下边方法没用了 1.问题react-navigation设置...

  • 你好,对于goback指定routeName,以及stackNavigator防止重复跳转,我有不同的看法,还望指教,谢谢。

    我不是很赞同修改源码来实现自己的功能,除非迫不得已,react-navigation官方提供了对路由拦截的方法,在https://reactnavigation.org/docs/routers/#Customizing-Routers中有描述。
    因此我觉得通过拦截来自定义路由行为是可行的。
    指定routeName来goBack和防止重复navigate的代码如下:
    ```
    function routeIsInCurrentState(state: Object, routeName: string) {
    if(state && state.routeName === routeName) {
    return true
    }

    if(state && state.routes) {
    return routeIsInCurrentState(state.routes[state.index], routeName)
    }

    return false
    }

    const defaultGetStateForAction = MyApp.router.getStateForAction;
    MyApp.router.getStateForAction = (action, state) => {
    if (state && action.type === NavigationActions.Back && action.routeName) {
    //这里可以自己在外部自定义一个ActionType,然后判断是否是自定义的ActionType
    const backRoute = state.routes.find((route: *) => route.routeName === action.routeName);
    if (backRoute) {
    const backRouteIndex = state.routes.indexOf(backRoute);
    const route = {
    ...state,
    routes: state.routes.slice(0, backRouteIndex + 1),
    index: backRouteIndex,
    };
    return route
    }
    }
    if (state && action.type === NavigationActions.Navigate) {
    if(routeIsInCurrentState(state, action.routeName)) {
    //避免重复跳转
    return state
    }
    }
    return defaultGetStateForAction(action, state)
    };
    ```

    如果react-navigation配合redux使用,那么在reducer里面就可以直接拦截action,做如上自定义操作了。

    还望指教,谢谢。