This is the boilerplate that Infinite Red uses as a way to test bleeding-edge changes to our React Native stack.
Currently includes:
安装项目所需依赖:
sudo gem install cocoapods
./bin/setup
app 启动:
yarn run start
react-native run-android
react-native run-ios
组件示例启动:
yarn run start
const SHOW_STORYBOOK = true
yarn run storybook
h5 启动:yarn run dev
,不需要关闭启动安卓和 iOS 模拟器的命令窗口,可以同时开发
格式化代码:
yarn run format
yarn run format:js
yarn run format:json
yarn run format:md
yarn run format:ts
自动化测试:(根路径下的 e2e 文件夹)
yarn add detox-cli -g
yarn run build:e2e
test:e2e
是使用的 react-native-elements,UI 库支持两端,在 components 文件夹下的 elements-icon 文件中分别写了 app 和 web 两端支持的文件 使用:
The Ignite Bowser boilerplate project's structure will look similar to this:
ignite-project
├── app
│ ├── components
│ ├── i18n
│ ├── utils
│ ├── models
│ ├── navigation
│ ├── screens
│ ├── services
│ ├── theme
│ ├── app.tsx
├── storybook
│ ├── views
│ ├── index.ts
│ ├── storybook-registry.ts
│ ├── storybook.ts
├── test
│ ├── __snapshots__
│ ├── storyshots.test.ts.snap
│ ├── mock-i18n.ts
│ ├── mock-reactotron.ts
│ ├── setup.ts
│ ├── storyshots.test.ts
├── README.md
├── android
│ ├── app
│ ├── build.gradle
│ ├── gradle
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── keystores
│ └── settings.gradle
├── ignite
│ ├── ignite.json
│ └── plugins
├── index.js
├── ios
│ ├── IgniteProject
│ ├── IgniteProject-tvOS
│ ├── IgniteProject-tvOSTests
│ ├── IgniteProject.xcodeproj
│ └── IgniteProjectTests
├── .env
└── package.json
Included in an Ignite boilerplate project is the app
directory. This is a directory you would normally have to create when using vanilla React Native.
The inside of the src directory looks similar to the following:
app
│── components
│── i18n
├── models
├── navigation
├── screens
├── services
├── theme
├── utils
└── app.tsx
components
This is where your React components will live. Each component will have a directory containing the .tsx
file, along with a story file, and optionally .presets
, and .props
files for larger components. The app will come with some commonly used components like Button.
i18n
This is where your translations will live if you are using react-native-i18n
.
models
This is where your app's models will live. Each model has a directory which will contain the mobx-state-tree
model file, test file, and any other supporting files like actions, types, etc.
navigation
This is where your react-navigation
navigators will live.
screens
This is where your screen components will live. A screen is a React component which will take up the entire screen and be part of the navigation hierarchy. Each screen will have a directory containing the .tsx
file, along with any assets or other helper files.
services Any services that interface with the outside world will live here (think REST APIs, Push Notifications, etc.).
theme Here lives the theme for your application, including spacing, colors, and typography.
utils This is a great place to put miscellaneous helpers and utilities. Things like date helpers, formatters, etc. are often found here. However, it should only be used for things that are truely shared across your application. If a helper or utility is only used by a specific component or model, consider co-locating your helper with that component or model.
app.tsx This is the entry point to your app. This is where you will find the main App component which renders the rest of the application. This is also where you will specify whether you want to run the app in storybook mode.
The ignite
directory stores all things Ignite, including CLI and boilerplate items. Here you will find generators, plugins and examples to help you get started with React Native.
This is where your stories will be registered and where the Storybook configs will live
This directory will hold your Jest configs and mocks, as well as your storyshots test file. This is a file that contains the snapshots of all your component storybooks.
From the command line in your generated app's root directory, enter yarn run storybook
This starts up the storybook server.
In app/app.tsx
, change SHOW_STORYBOOK
to true
and reload the app.
For Visual Studio Code users, there is a handy extension that makes it easy to load Storybook use cases into a running emulator via tapping on items in the editor sidebar. Install the React Native Storybook
extension by Orta
, hit cmd + shift + P
and select "Reconnect Storybook to VSCode". Expand the STORYBOOK section in the sidebar to see all use cases for components that have .story.tsx
files in their directories.
Ignite CLI, Ignite Andross, and Ignite Bowser, as open source projects, are free to use and always will be. Infinite Red offers premium Ignite support and general mobile app design/development services. Email us at hello@infinite.red to get in touch with us for more details.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。