├── .eslintrc.js ├── .gitignore ├── .watchmanconfig ├── README.md ├── app.json ├── babel.config.js ├── package.json └── yarn.lock /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: "handlebarlabs" 3 | }; 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/**/* 2 | .expo/* 3 | npm-debug.* 4 | *.jks 5 | *.p12 6 | *.key 7 | *.mobileprovision 8 | -------------------------------------------------------------------------------- /.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## React Native Calculator App 2 | 3 | A simple cross platform (iOS and Android) React Native calculator app. This example was put together for [React Native by Example](https://www.reactnativebyexample.com/). Get started learning & mastering React Native for free! 4 | https://github.com/ReactNativeSchool/react-native-calculator/blob/master/assets/demo.png 5 | 6 | ### Installation 7 | 8 | - `git clone https://github.com/ReactNativeSchool/react-native-calculator` 9 | - `yarn install`/`npm install` 10 | 11 | ### Running 12 | 13 | - `yarn run ios`/`npm run ios` or `yarn run android`/`npm run android` 14 | 15 | --- 16 | 17 | This project was put together to serve as an example to help you in building your own React Native apps. Feel free to download it and tinker with it! 18 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "expo": { 3 | "name": "Calculator", 4 | "slug": "Calculator", 5 | "privacy": "public", 6 | "platforms": [ 7 | "ios", 8 | "android" 9 | ], 10 | "version": "1.0.0", 11 | "orientation": "portrait", 12 | "icon": "./assets/icon.png", 13 | "splash": { 14 | "image": "./assets/splash.png", 15 | "resizeMode": "contain", 16 | "backgroundColor": "#ffffff" 17 | }, 18 | "updates": { 19 | "fallbackToCacheTimeout": 0 20 | }, 21 | "assetBundlePatterns": [ 22 | "**/*" 23 | ], 24 | "ios": { 25 | "supportsTablet": true 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = function(api) { 2 | api.cache(true); 3 | return { 4 | presets: ['babel-preset-expo'], 5 | }; 6 | }; 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "node_modules/expo/AppEntry.js", 3 | "scripts": { 4 | "start": "expo start", 5 | "android": "expo start --android", 6 | "ios": "expo start --ios", 7 | "eject": "expo eject", 8 | "lint": "eslint ." 9 | }, 10 | "dependencies": { 11 | "expo": "^38.0.0", 12 | "react": "16.11.0", 13 | "react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz" 14 | }, 15 | "devDependencies": { 16 | "babel-preset-expo": "^8.2.3", 17 | "eslint": "^7.4.0", 18 | "eslint-config-handlebarlabs": "^0.0.6" 19 | }, 20 | "private": true 21 | } 22 | --------------------------------------------------------------------------------