如何在React Native中编写和建模可重复使用的业务逻辑



我必须使用React Native开发5个不同的移动应用程序。应用程序背后的业务需求是相同的,它们应该连接到相同的Restful API,但是每个人都将具有不同的UI/UX来满足品牌要求。为应用程序实现极端可重复使用的业务逻辑代码的最佳实践是什么?

我应该将redux作为外部节点封装并在每个应用程序中导入,还是应该在一个巨大的代码库中合并应用程序并使用其他nodejs脚本来构建它们中的每个脚本?

我的建议是分开业务逻辑。当您打算使用Redux时,您可以在单独的软件包中创建模型和服务,并在任何需要的地方导入。

模型 - 定义状态,包含还原和效果。服务 - 调用Restful API的实际功能。

模型< ->服务方法非常有用,因为它们根本没有做任何UI工作。

请参阅下面的模型和服务示例:

模型:

import {
  addPayment
} from '../services/paymentService'
import {
  updateAge
} from '../services/profileService'
export default {
  namespace: 'myProfile',
  state: {
     age
     },
  reducers: {
    set: (state, {payload: details}) => {
      return ({...state, ...details})
    },
  },
  effects: {
    *getAge (action, { call, put, simplePut }) {
      const {payload: age} = action
      try {
        const res = yield call(upadteAge, age)
        const { status } = res
        if (status === 200) {
          const json = yield res.json()
          yield simplePut('set', json)
        } 
      } catch (error) {
        console.log(error)
      }
    },
  }

服务:

export function updateAge ({age}) {
  return fetch('apiurl?age=' + age, {
    method: 'POST',
    headers: {
    }
  })
}

我最近完成了我使用上述方法的应用程序,它像魅力一样起作用。

相关内容

  • 没有找到相关文章

最新更新