小编hos*_*han的帖子

将业务逻辑放在redux中的位置?行动或商店

我来自RefluxRedux.在Reflux中你的业务逻辑只存在于商店中,但在Redux中它似乎不同......例如在" Redux "中,我有"async-action",我用" redux-thunk " 实现它.

在一个场景中,我想在我的操作中检查一些内容,如果需要我向服务器发送请求并获取一些数据.在这种情况下,我必须在我的行动中检查我的逻辑,实际上我的业务逻辑存在于行动中并存储在一起并且它不好......你的解决方案是什么?

例如我有复选框,我检查一些条件,如果结果是真的我发送请求到服务器这里是我的动作代码,因为你看到我的业务逻辑是在我的行动和我的减速机:

export function onCheckboxClick({itemId}) {
  return (dispatch, getState) => {
      let state = getState().get('myReducer');

      let myConditionResult = state.get('foods').get(0).get('test');//for exmaple check some condition in my store

      dispatch({type: 'CHECKBOX_CLICK', itemId});// for change the checkbox checked

      if (myConditionResult) {
        myApi.deleteOrderItem({itemId}).then(()=> {
          dispatch({type: 'DELETE_ORDER_ITEM_FULFILLED', itemId});
        }).catch((err)=> {
          console.log(err);
          dispatch({type: 'DELETE_ORDER_ITEM_REJECTED', itemId});
        });
      }
   };
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

refluxjs redux redux-thunk

12
推荐指数
3
解决办法
8157
查看次数

如何创建圆形形状与柔性框反应原生

这是我的组成部分:

const styles = {
 menuContainer: {
  flex: 1,
  flexDirection: 'column'  
 },
 menuItem: {
  flex: 1,
  borderRadius: ??
 }
}
        <View style={styles.menuContainer}>
            <TouchableOpacity {styles.menuItem}/>                    
            <TouchableOpacity {styles.menuItem}/> 
        </View>
Run Code Online (Sandbox Code Playgroud)

bordeRadius in react native不能像50%这样的百分比工作,而在flex框中我不知道每个flexItem的宽度.你有什么想法没有计算每个flexItem的宽度?

flexbox react-native react-native-flexbox

7
推荐指数
1
解决办法
4954
查看次数

在NavigationView中从右到左的菜单项Android

即时通讯的android.我设计了一个这样的导航抽屉: 在此输入图像描述

如您所见,菜单中的所有项目都在右侧,"SubHeader"除外.

如何将"SubHeader"项目移动到此菜单的右侧?我使用所有属性,如重力,布局重力,layoutDirection到SubHeaderItem,但它不起作用.

我的代码是

 <android.support.design.widget.NavigationView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/navigation_view"
        android:layout_gravity="end"
        android:fitsSystemWindows="true"
        android:layoutDirection="rtl"
        app:headerLayout="@layout/navigation_header"
        app:menu="@menu/navigation_menu"
        />
Run Code Online (Sandbox Code Playgroud)

我的菜单代码是:

<menu xmlns:android="http://schemas.android.com/apk/res/android"    >
    <group android:checkableBehavior="single">
        <item
            android:title="inbox"
            android:id="@+id/inbox_id"
            android:icon="@drawable/inbox" />
    </group>
    <item android:title="SubHeader">

        <menu>
            <item
                android:title="all main"
                android:id="@+id/all_mail"
                android:icon="@drawable/allmail" />
        </menu>
    </item>

</menu>
Run Code Online (Sandbox Code Playgroud)

android menu right-to-left navigation-drawer

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

为什么我必须在 react-native 中将方向从 LTR 更改为 RTL 后重新加载应用程序?

我使用I18nManager.forceRTL(true)ininitialStatecomponentDidMount生命周期但它不起作用,如果我重新加载我的应用程序,它会起作用。

我的意思是我必须重新加载应用程序才能看到效果,这是什么原因?

提前致谢

android react-native

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

反应导航中的this.props.navigation与NavigationActions

NavigationActions支持下面的操作,但是当我们访问辅助函数时,我无法理解每个操作的用法this.props.navigation.

  • 导航
  • 重启
  • 背部
  • 在里面

那么我们为什么要进口NavigationActions呢?

提前致谢.

react-native react-navigation

0
推荐指数
1
解决办法
2042
查看次数