2017-12-06 14 views
3

React Native를 사용하여 5 가지 모바일 애플리케이션을 개발해야합니다. 응용 프로그램의 비즈니스 요구 사항은 동일하며 동일한 RESTful API에 연결해야하지만 각 응용 프로그램마다 브랜딩 요구 사항을 충족시키는 다른 UI/UX가 있어야합니다. 응용 프로그램에 대해 극한의 재사용 가능한 비즈니스 로직 코드를 얻는 가장 좋은 방법은 무엇입니까?Reactable Business Logic을 작성하고 모델링하는 방법 React Native

외부 노드 패키지로 Redux를 만들어 각 응용 프로그램에서 가져와야합니까? 아니면 하나의 거대한 코드베이스에서 응용 프로그램을 병합하고 다른 nodejs 스크립트를 사용하여 각각을 빌드해야합니까?

답변

0

비즈니스 로직을 분리하는 것이 좋습니다. 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: { 
    } 
    }) 
} 

이있는 내가 사용한 위의 접근 방식과 매력처럼 작동합니다.