使用 React Native 连接到 Stitch
Connect to Stitch with React Native
我尝试初始化 Stitch 默认应用程序客户端,但在初始化客户端时总是出现错误。
这是我的代码:
import React from 'react';
import {View, Text, SafeAreaView} from 'react-native';
import {Stitch, AnonymousCredential} from 'mongodb-stitch-react-native-sdk';
class App extends React.Component {
render() {
return (
<SafeAreaView>
<View>
<Text>Stitch Test</Text>
</View>
</SafeAreaView>
);
}
async componentDidMount() {
console.log('=> App/componentDidMount');
await this._loadClient();
}
_loadClient() {
console.log('=> App/_loadClient');
Stitch.initializeDefaultAppClient('tuto - nbmzq').then(client => {
if (client.auth.isLoggedIn) {
client.auth
.loginWithCredential(new AnonymousCredential())
.then(user => {
console.log('Successfully logged in as user ${user.id}');
})
.catch(err => {
console.log(err);
});
} else {
console.log(client);
console.log('Error initialize Client'); // Always fall here
}
});
}
}
export default App;
应用 ID 存在,我可以在 MongoDB 网站上连接它。
我哪里错了?
感谢 ++ 埃里克
Stitch.initializeDefaultAppClient
后测试有bug。
一定是
if (client.auth.hasDeviceId) { ... }
而不是
if (client.auth.isLoggedIn) { ... }
这总是错误的,因为client.auth
是在测试之后做出的。
我尝试初始化 Stitch 默认应用程序客户端,但在初始化客户端时总是出现错误。
这是我的代码:
import React from 'react';
import {View, Text, SafeAreaView} from 'react-native';
import {Stitch, AnonymousCredential} from 'mongodb-stitch-react-native-sdk';
class App extends React.Component {
render() {
return (
<SafeAreaView>
<View>
<Text>Stitch Test</Text>
</View>
</SafeAreaView>
);
}
async componentDidMount() {
console.log('=> App/componentDidMount');
await this._loadClient();
}
_loadClient() {
console.log('=> App/_loadClient');
Stitch.initializeDefaultAppClient('tuto - nbmzq').then(client => {
if (client.auth.isLoggedIn) {
client.auth
.loginWithCredential(new AnonymousCredential())
.then(user => {
console.log('Successfully logged in as user ${user.id}');
})
.catch(err => {
console.log(err);
});
} else {
console.log(client);
console.log('Error initialize Client'); // Always fall here
}
});
}
}
export default App;
应用 ID 存在,我可以在 MongoDB 网站上连接它。 我哪里错了?
感谢 ++ 埃里克
Stitch.initializeDefaultAppClient
后测试有bug。
一定是
if (client.auth.hasDeviceId) { ... }
而不是
if (client.auth.isLoggedIn) { ... }
这总是错误的,因为client.auth
是在测试之后做出的。