小编Ani*_* K.的帖子

纯函数可以异步吗?

在浏览纯函数的定义时,它通常定义为两个特征:

1)在相同输入的情况下应该产生相同的输出

2)不应产生任何副作用

它是否也意味着纯函数不应该是异步的?如果不是,怎么回事?如果是的话,我很乐意在JavaScript中看到异步纯函数的一些例子.

javascript functional-programming purely-functional ecmascript-6

6
推荐指数
1
解决办法
589
查看次数

React:映射父组件的子组件

因此,我想向添加到组件的任何子代添加某些样式。比方说,父组件被称为Section和儿童被称为Card在这种情况下。在Section.js我正在尝试:-

renderChildren = () =>{
  return React.Children.map(this.props.children, (child, i)=>{
    let el = React.cloneElement(child,{
      style: {opacity:0.5}
    })
    return el
  })
}

render(){
  <ScrollView>
       {this.renderChildren()}
   </ScrollView>
}
Run Code Online (Sandbox Code Playgroud)

上面的方法对我不起作用。我想知道为什么。还有一种方法可以映射孩子并将它们包装在新组件中吗?像这样的东西;

this.props.children.map(Child => <Wrapper> <Child/> </Wrapper> )
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native

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

我为状态创建了一个通用的reducer,什么时候应该使用它,什么时候不应该使用它

我有一个redux商店.要更改商店中的数据,通常的方法是创建操作,actionCreator,reducer,然后分派操作.对于中小型应用程序,在很多地方进行更改以反映此类更改看起来有点过分.所以我创建了一个通用的reducer,它看起来像这样:

// here state is a copy of actual state, so I can mutate it directly

    const reducer = ( state, action) => {
      if(action.type == 'SETTER'){
       try{
            return assign(state, action.data.target, action.data.value )
        }
        catch(err){
            console.log('WARNING: the key wasn\'t valid', err)
        }
      }
      return state;

    }
Run Code Online (Sandbox Code Playgroud)

这个assign方法是这样的:

const assign = (obj, prop, value) => {
    if (typeof prop === "string")
        prop = prop.split(".");

    if (prop.length > 1) {
        var e = prop.shift();
        assign(obj[e] , prop, value);
    } else …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native redux react-redux

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