小编Tho*_*enA的帖子

如何从无序的Immutable.List()中删除重复项?

如何从无序的Immutable.List()中删除重复项?(不使用toJS()或toArray())

例如

Immutable.List.of("green", "blue","green","black", "blue")
Run Code Online (Sandbox Code Playgroud)

immutable.js

21
推荐指数
2
解决办法
9917
查看次数

React Native:组件卸载时的动画

我有一个自定义模式,可以滑入componentDidMount:

componentDidMount() {

    Animated.timing(this._animatedValue.y, {
        duration: 200,
        toValue: 0
    }).start()

} 
Run Code Online (Sandbox Code Playgroud)

好的,这很简单.但是,我也喜欢在组件卸载时滑出模态.对我来说,componentWillUnmount()感觉是对的,因为这是一种优雅的陈述方式:

componentWillUnmount() {

    Animated.timing(this._animatedValue.y, {
        duration: 200,
        toValue: deviceHeight
    }).start()

} 
Run Code Online (Sandbox Code Playgroud)

但这当然工作,因为阵营犯规等到我已经完成我的动画.

所以目前我使用自定义函数解决这个问题:

closeModal() {


    Animated.timing(this._animatedValue.y, {
        duration: C.filterModalDuration,
        toValue: deviceHeight
    }).start()

   InteractionManager.runAfterInteractions(() => {
     this.props.UnmountThisComponent()
   })

}
Run Code Online (Sandbox Code Playgroud)

这当然不是那么优雅,但它有效.但是,如果我需要从组件树中很远的组件调用此函数,疼痛就开始了,即我需要手动传递这个函数onUnmount={()=> closeModal()},然后onUnmount={this.props.onUnmount}一遍又一遍......

然后我想我可以用redux和redux-connect来解决这个问题.我正在考虑从子组件触发redux状态更改,然后通过componentWillRecieveProps()这样调用函数:

componentWillReceiveProps (nextProps) {

  if (nextProps.closeFilter === true) {
          this.closeModal()
  }

}
Run Code Online (Sandbox Code Playgroud)

然而,这感觉非常hacky和必要.

有没有办法以优雅/声明的方式解决这个问题?

react-native redux

15
推荐指数
1
解决办法
4532
查看次数

Realm&React Native - 实施自动更新的最佳实践?

什么是最佳实践/模式使领域成为反应原生应用程序中的反应数据源?特别是对于演示和容器组件模式

这是一个我想要反应的例子:Rem Native的领域

关于自动更新/更改事件文档有点薄,官方示例没有使用此功能(据我所知).

realm react-native

14
推荐指数
2
解决办法
7139
查看次数

分析React Native iOS应用程序的最佳做法是什么?

分析React Native iOS应用程序的最佳做法是什么?官方文档说我应该使用Apple xCode的仪器,但我真的找不到任何好的RN相关资源.

ios react-native

8
推荐指数
1
解决办法
593
查看次数

无法通过CMD + D打开开发菜单或通过CMD + R重新加载

我无法通过CMD + D打开我的开发菜单或通过CMD + R重新加载.它只是停止工作,没有我故意改变一些东西.

更多信息:

  • 摇动手势仍然有效,但并非总是如此
  • 仅当摇动手势正在工作时,实时重新加载才有效
  • 独立于构建通过react-native run-ios或通过xCode
  • rn22.0和rn23.0-rc
  • 同样的行为 react-native init newProject
  • 我使用工作区文件

我试图修复它:

  • 尝试过其他模拟器
  • 按版本降级/升级
  • 跑了,react-native upgrade并说yes每次覆盖
  • 完全重新安装所有NPM模块
  • 重置模拟器
  • 干净的身材
  • 重启

react-native

6
推荐指数
8
解决办法
3547
查看次数

如何使用ImmutableJS计算List中的项目?

我有一个看起来像这样的列表:

["green", "blue","green","green", "blue", "black"]
Run Code Online (Sandbox Code Playgroud)

如何使用ImmutableJS运算符来计算这些项并获得一个如下所示的Map:

{ green: {name: green, count: 3}, blue:{name: blue, count: 2}, black:{name: black, count: 1}}
Run Code Online (Sandbox Code Playgroud)

我在这里找到了以下函数来做普通JS,所以我怎么能用ImmutableJS实现呢?

export const countOccurances = obj => {

   return obj
        .reduce((counter, x) =>  {

            if (counter.hasOwnProperty(x)) { 
                counter[x].count = counter[x].count + 1
            } else {
                counter[x] =  {name: x, count: 1}
            }
            return counter;

        }, {})
 }
Run Code Online (Sandbox Code Playgroud)

javascript functional-programming immutable.js

3
推荐指数
1
解决办法
707
查看次数

如何随机播放ImmutableJS列表

什么是lodash的shuffle函数(或类似的)的性能实现,以在不使用from/toJs()的情况下对不可变列表进行混洗?

immutable.js

3
推荐指数
1
解决办法
1346
查看次数