React Native module for Couchbase Lite
react-native-cbl is a React Native module providing an easy way to create offline-first, lightweight and performant mobile application on both iOS and Android platforms. This is an all-native wrapper over Couchbase Lite, which is a document-oriented database running right on the mobile devices.
$ npm install react-native-cbl --save
or
$ yarn add react-native-cbl
$ react-native link react-native-cbl
Libraries
Add Files to [your project's name]
node_modules
react-native-cbl
and add RNReactNativeCbl.xcodeproj
libRNReactNativeCbl.a
to your project's Build Phases
Link Binary With Libraries
Cmd+R
)<android/app/src/main/java/[...]/MainActivity.java
import com.reactlibrary.RNReactNativeCblPackage;
to the imports at the top of the filenew RNReactNativeCblPackage()
to the list returned by the getPackages()
methodandroid/settings.gradle
:
include ':react-native-cbl'
project(':react-native-cbl').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-cbl/android')
android/app/build.gradle
:
compile project(':react-native-cbl')
import CouchbaseLite, { CBLConnection, CBLConnector } from 'react-native-cbl'
const cblConnection = new CBLConnection({
dbName: 'mydb',
syncGatewayUrl: 'http://sg.myapp.com/mydb',
views: { ... },
})
export default class App extends React.Component {
onButtonClicked() {
CouchbaseLite.createDocument({ title: 'New Title', text: 'Description' })
}
render() {
return (
<CBLConnector connection={cblConnection}>
...
</CBLConnector>
)
}
}
There is a demo app available at https://github.com/bjornd/ReactNativeNotes