这就是我在React-Native中尝试做的事情.异步函数正在调用firebase.
async functionOne() {
asyncStuffHappens
}
functionTwo() {
this.functionOne();
}
Run Code Online (Sandbox Code Playgroud)
this.functionOne();
未定义.我不知道如何从另一个函数调用异步函数.
我正在通过反应本机代码,并在其中一个文件中找到以下代码:
#define RCTLog(...) _RCTLog(RCTLogLevelInfo, __VA_ARGS__)
#define RCTLogTrace(...) _RCTLog(RCTLogLevelTrace, __VA_ARGS__)
#define RCTLogInfo(...) _RCTLog(RCTLogLevelInfo, __VA_ARGS__)
#define RCTLogWarn(...) _RCTLog(RCTLogLevelWarning, __VA_ARGS__)
#define RCTLogError(...) _RCTLog(RCTLogLevelError, __VA_ARGS__)
Run Code Online (Sandbox Code Playgroud)
我想知道Android 是否也有类似的东西(原生反应).我尝试通过反应本机代码捕获,但找不到任何方法来执行此操作.我想知道是否有人必须为Android做这件事.
有人可以帮我这个吗?
logging reactjs react-native react-native-android react-native-ios
我对复杂反应应用的多语言支持有疑问.所有示例和文档都基于没有嵌套/子组件的"扁平"应用程序.
如何处理嵌套的数据如下:
<i18n>
<App>
translate('base')(
<Base>
<Child1 />
<Child2 />
{t('Hello')}
</Base>
)
</App>
</i18n>
Run Code Online (Sandbox Code Playgroud)
我应该用translate
HOC 包装每个儿童成分吗?或者还有其他方法可以将翻译功能传递给子组件?
我在我的项目(React、TS、Mobx)中添加了 onChange 方法,但出现错误: Argument of type '{ [x: number]: any; }' is not assignable to parameter of type
我是 TypeScript 的新手,不知道为什么会这样。可能是什么问题?
(parameter) event: {
target: {
name: any;
value: any;
};
}
Run Code Online (Sandbox Code Playgroud)
'{ [x: number]: any; 类型的参数 }' 不可分配给类型为 'IAddPlayerFormState | 的参数 ((prevState: Readonly, props: Readonly) => IAddPlayerFormState | Pick | null) | 选择<...> | 空值'。
import React, { Component } from 'react';
import ViewStore from '../../../store/ViewStore';
import { TextField } from './../../../utils';
interface IAddPlayerFormProps {
viewStore?: ViewStore; // Optional …
Run Code Online (Sandbox Code Playgroud) 向下滚动时,我试图隐藏导航栏(NavigatorIOS)。我怎样才能做到这一点?
谢谢
现在,我一直在使用history.replace,它永远不会在历史记录堆栈中推送任何内容。我这样做是因为,如果我按下然后注销,则我的应用程序允许使用浏览器的后退箭头返回上一条路线,但我不希望这样做。我该如何操作历史记录,以便在按下注销时,历史记录堆栈上没有任何内容可返回。
如果是这样,如何正确传递字段名称以使其在组件内显示错误?
我在下面做的方式不起作用:
<FieldArray name='myFieldArray' component={renderArrayField} />
function onSubmit(values) {
values.myFieldArray.forEach((myField, index) => {
if (!myField.someText) {
const errorObj = {}
const myFieldName = "myFieldArray[" + index + "].someText"
errorObj[myFieldName] = 'Field required!'
throw new SubmissionError(errorObj)
}
})
// save the form
}
Run Code Online (Sandbox Code Playgroud)
我也试过:
const myFieldName = "myFieldArray[" + index + "].someText._error"
Run Code Online (Sandbox Code Playgroud)
和
const myFieldName = "myFieldArray[" + index + "]['someText']"
Run Code Online (Sandbox Code Playgroud)
和
const myFieldName = "myFieldArray[" + index + "]['someText']['_error']"
Run Code Online (Sandbox Code Playgroud)
但也没有交易...
我正在学习JS,我有类似的东西.
//all inside folder reducers
//reducer1.js
export default reducer1
//reducer2.js
export default reducer2
//index.js
import reducer1 from './reducer1'
import reducer2 from './reducer2'
//then combine reducer
export default index
//outside folder reducers
import reducer from './reducers'
Run Code Online (Sandbox Code Playgroud)
既然./reducers
只是一个文件夹,里面有3个导出默认的3个文件,我不明白这是怎么回事?它如何知道将导入文件夹中的哪个导出默认值?
谢谢.
reactjs ×9
javascript ×7
react-native ×4
redux ×2
async-await ×1
ecmascript-6 ×1
firebase ×1
i18next ×1
ios ×1
logging ×1
mobx ×1
react-redux ×1
redux-form ×1
typescript ×1