React Native

[React-Native] 전역 함수 사용하기

sayhee 2023. 3. 29. 17:00
728x90

앱을 제작하면서 정해진 함수를 이 페이지 저 페이지 쓰는 경우가 생겼다 ( 택배사, 가격 자릿수 등등 )

이때 유지보수가 쉽도록 관리해줄 수 있는 소스를 짜면 편하다는 것을 배웠다!

 

<가격 자릿 수>

export default class FunctionUtil {
    static getPrice(data){
       return data.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')
    }
}

 

가격 자릿수를 메겨줄 때 사용하는 함수이다. util 폴더 안에 FunctionUtil.js를 생성 후

받은 데이터를 조작해준 뒤 값을 return 시켜준다.

 

함수를 써줄 class 페이지에 import를 시켜주고

import FunctionUtil from '../../../util/libraries_function';

 

data에는 item.price(가격)를 넘겨주면 끝!

<Text style={styles.itemName_text}>{FunctionUtil.getPrice(item.price)}{"원"}</Text>

 


<택배사>

export default class Constant {
    static serviceURL = "http://203.241.251.177/wparts";
    static externalServiceURL = "http://lab.pyunhan.co.kr";
    
    static getInvoiceNames() {
        return ["CJ대한통운","우체국택배","편의점택배","로젠택배","한진택배"];
    }
}

 

Constant에서  getInvoiceNames()에 저장하였던 택배사를 가져온다

//Constant에서 미리 정의한 택배사 리스트 가져오기
this.invoiceName=Constant.getInvoiceNames();
import { Picker } from '@react-native-picker/picker'; 을 사용하여 택배사를 DropDownList 형식으로 보여줄 것인데
모든 택배사를 보여주기 위해 map 함수를 사용해주었다.
<View style={styles.textInput}>
    <Text>택배사 선택</Text>
    <Picker
        selectedValue={this.state.invoiceKind}
        onValueChange={(value, index) => { this.setState({ invoiceKind: value }) }}>
        {this.invoiceName.map((item,i)=> <Picker.Item label={item} key={i} value={i}/>)}
    </Picker>
</View>