mirror of
https://github.com/zhigang1992/react-native-web.git
synced 2026-03-29 00:38:18 +08:00
635fda8d63f2d800e3311b99165c8abaac4133b2
This allows ProgressBar to correctly render provided styles like 'border-radius' without the indicator bar overflowing.
React Native for Web
React Native components and APIs for the Web.
Browser support: Chrome, Firefox, Safari >= 7, IE 10, Edge.
Overview
"React Native for Web" is a project to bring React Native's building blocks and touch handling to the Web.
Browse the UI Explorer to see React Native examples running on Web. Or try it out online with React Native for Web: Playground.
Quick start
To install in your app:
npm install --save react@15.5 react-dom@15.5 react-native-web
Read the Getting Started guide.
Documentation
Guides:
- Getting started
- Style
- Accessibility
- Direct manipulation
- Internationalization
- Advanced use
- Known issues
Exported modules:
- Components
ActivityIndicatorButtonImageProgressBarScrollViewSwitchTextTextInputTouchableHighlight(mirrors React Native)TouchableOpacity(mirrors React Native)TouchableWithoutFeedbackView
- APIs
Animated(mirrors React Native)AppRegistryAppStateAsyncStorageClipboardDimensionsI18nManagerNetInfoPanResponder(mirrors React Native)PixelRatioPlatformStyleSheetVibration
Example code
import React from 'react'
import { AppRegistry, Image, StyleSheet, Text, View } from 'react-native'
// Components
const Card = ({ children }) => <View style={styles.card}>{children}</View>
const Title = ({ children }) => <Text style={styles.title}>{children}</Text>
const Photo = ({ uri }) => <Image source={{ uri }} style={styles.image} />
const App = () => (
<Card>
<Title>App Card</Title>
<Photo uri="/some-photo.jpg" />
</Card>
)
// Styles
const styles = StyleSheet.create({
card: {
flexGrow: 1,
justifyContent: 'center'
},
title: {
fontSize: '1.25rem',
fontWeight: 'bold'
},
image: {
height: 40,
marginVertical: 10,
width: 40
}
})
// App registration and rendering
AppRegistry.registerComponent('MyApp', () => App)
AppRegistry.runApplication('MyApp', { rootTag: document.getElementById('react-root') })
Related projects
- react-primitives
- react-native-web-player
- react-native-web-starter
- react-native-web-webpack
- react-web
- reactxp
License
React Native for Web is BSD licensed.
Languages
JavaScript
99.7%
HTML
0.2%