我一直在阅读有关实例和租户以及 Saas 架构的内容。我的问题如下(如果您发现我对以下任何术语有错误,请更正):
1)实例:一个软件的实例是否只是该软件的一个副本,有自己的数据库?还有比这更重要的事情吗?
2)租户:租户是对单个实例共享一组通用访问权限的用户/用户组吗?
3)单实例:如果 Saas 提供商提供单实例服务,这是否意味着他们只创建其软件的单个实例?或者这是否意味着可以有多个实例,但每个实例可以为多个租户提供服务?如果是这样,单实例与多租户相同吗?
4)多实例:这是否意味着每个实例只能服务一个租户,或者是否可以有多个实例,每个实例服务多个租户?IE。多实例服务可以是单租户或多租户吗?
5)单租户:这是否仅仅意味着单个实例只能为一个租户提供服务,还是也意味着存在多个实例?IE。单租户服务可以同时是单实例和多实例吗?
6)多租户:这是否仅仅意味着单个实例可以为多个租户提供服务,还是意味着只有一个实例?IE。多租户服务可以同时是单实例和多实例吗?
7)总结一下:可以单实例+单租户、单实例+多租户、多实例+单租户、多实例+多租户吗?
saas single-instance multi-tenant multi-instance-deployment server
我正在使用 Redux Saga 模板,它使用包含yield call(). 基本上它看起来像这样:
function *a(){
yield call(<some function>);
}
yield takeLatest(SOME_ACTION, a)
Run Code Online (Sandbox Code Playgroud)
我的问题如下:
1)我是否正确使用的原因
function *a(){
yield call(<some function>());
}
Run Code Online (Sandbox Code Playgroud)
代替
function a(){
<some function>()
}
Run Code Online (Sandbox Code Playgroud)
是第一个,生成器函数将等到yield call行返回后再继续,而在第二个中, () 将被异步调用?
2) 如果我对 (1) ^^ 是正确的,那么调用some_functioninsidea似乎与以下内容相同:
async a() {
await some_function();
}
Run Code Online (Sandbox Code Playgroud)
这样对吗?
3) 如果我对 (2) ^^ 是正确的,那么使用生成器函数而不是 async/await 的唯一原因似乎是可以从yield takeLatest等调用生成器函数。这是正确的吗?还是背后另有隐情?
谢谢!
我正在使用 React Native 0.60.5 并且正在链接这个模块。它说对于 React Native 0.60+,“CLI 自动链接功能在构建应用程序时链接模块”,所以我们需要运行的只是yarn add @react-native-community/async-storage.
但是,在描述自动链接的主页上,它说我们需要运行:
yarn add @react-native-community/async-storage
cd ios && pod install && cd ..
我想知道的:
我们是否必须pod install使用 React Native 0.60+运行所有原生模块?
cocoapods reactjs react-native native-module react-native-native-module
对于我的React Native应用程序中的一个屏幕,无法进行热重装。我发现解决方案是改变这一点
componentDidMount = () => {
<...do stuff with this.props...>
}
Run Code Online (Sandbox Code Playgroud)
对此
componentDidMount() {
<...do stuff with this.props...>
}
Run Code Online (Sandbox Code Playgroud)
因此,我所做的只是将componentDidMount箭头功能更改为非箭头功能。所以我的问题是:
为什么将其更改为非箭头功能会使热重装再次工作?我知道使其成为非箭头函数意味着如果从其他上下文调用该函数,则其值this将被重新绑定到调用该函数的上下文中,而使用箭头函数将始终被绑定到定义它的组件。但这如何影响热装?热重装是否会导致componentDidMount从其他上下文调用并this重新绑定?如果是这样,那将如何影响热装?
谢谢!
更新
一些用户问这是否是(ES6对象中的方法:使用箭头函数)或(箭头函数与函数声明/表达式:它们是否等效/可互换?)的重复项。
这不是这两个的重复。请注意,我确实概述了箭头功能和非箭头功能之间的区别。我的问题是这些差异如何专门应用于热重装。
我有一个<Parent>包含组件的 React Native 组件,<Child>我希望能够在 Parent 中调用 Child 的方法之一。在阅读了一堆其他帖子后,这就是我所拥有的:
儿童.js
export default class Child extends Component {
method1() {
console.log("success");
}
render() {
return(
<View/>
)
}
}
Run Code Online (Sandbox Code Playgroud)
家长
export default class Parent extends Component {
render() {
return(
<View>
<TouchableOpacity
onPress={() => this.child.method1()}
/>
<Child
onRef={ref => (this.child = ref)}
/>
</View>
)
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误“_this2.child.method1 不是函数。”
我尝试过的其他事情是使用refInput而不是onRef,而ref => {this.child = ref}不是ref => (this.child = ref)。
有任何想法吗?
谢谢!
当我尝试进行 Xcode 构建但失败时,我通常会在 Xcode 窗口左侧的“Buildtime”屏幕中看到一长串警告消息。实际的错误消息(带有红色感叹号)通常位于底部,我必须滚动几秒钟才能看到它。另外,当我滚动到它时,它会在下面加载更多警告,因此我必须多次执行滚动过程。有谁知道是否有办法直接跳转到错误消息,或将所有消息输出到文件或其他文件中?
我在 Github 帖子中读到“我正在使用react-native v0.59.9,它使用gradle v5.4.1。”。我已经使用 React Native 一段时间了,并且能够在 Android 上进行模拟,但不记得曾经安装过 Gradle。当我创建 React Native 应用程序时,它会自动附带 Gradle 吗?如果是这样,我是否需要担心 Gradle 版本,或者给定的 React Native 版本是否总是附带相应的 Gradle 版本?
在我的 React Native 应用程序中,如果我有一个堆栈导航器并且我使用 导航screenA到,是否有可能被卸载?screenBthis.props.navigation.navigate('screenB')screenA
我问的原因是,当screenA挂载时,我会进行一个 API 调用,该调用将加载可通过 Redux 在所有屏幕中使用的资源。screenB当 API 调用仍在进行时,我可能会导航到。所以我想知道我导航得screenB太早是否可能会阻止资源加载并在screenB.
我正在使用AbortController并捕获它中止时抛出的错误。我的调试器说错误是DOMException: Aborted. 我想在 IF 语句中捕获它,但我不知道如何捕获。我尝试if (e == "DOMException: Aborted")过,if (e == "Aborted")但他们没有捕获它。
我的代码:
controller = new AbortController();
const signal = controller.signal;
fetch(url, { signal })
.then(function(response) {
console.log('Download complete', response);
})
.catch(function(e) {
console.log('Download error: ' + e.message);
});
Run Code Online (Sandbox Code Playgroud)
然后我中止这个控制器controller.abort()
我在我的 React Native 应用程序中使用react-native-camera-roll/camera-roll@5.2.0。对于 Android 13,READ_EXTERNAL_STORAGE 权限已替换为 READ_MEDIA_IMAGES。我使用以下代码来检查是否已授予权限:
const permission = Platform.Version >= 33 ? PermissionsAndroid.PERMISSIONS.READ_MEDIA_IMAGES : PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE;
const hasPermission = await PermissionsAndroid.check(permission);
Run Code Online (Sandbox Code Playgroud)
然而,PermissionsAndroid.PERMISSIONS不包含READ_MEDIA_IMAGES,所以permission也是undefined。传递undefined给PermissionsAndroid.check()会使应用程序挂起。
我想知道的是:
我正在使用react-native@0.65.3。PermissionsAndroid.PERMISSIONS.READ_MEDIA_IMAGES 直到 0.70 才可用,所以除非我更新到 0.70,否则permission将始终是undefined. 我该如何解决这个问题?
permissions android-permissions reactjs react-native react-native-permissions
react-native ×7
reactjs ×7
javascript ×3
redux ×2
abort ×1
android ×1
cocoapods ×1
gradle ×1
hot-reload ×1
multi-tenant ×1
permissions ×1
react-redux ×1
redux-saga ×1
reloading ×1
render ×1
saas ×1
saga ×1
server ×1
try-catch ×1
xcode ×1