代码:

onDragEnd = {
    (event) => this.setState({ playerMarkerPositionFuture: event.nativeEvent.coordinate })
    .then(() => alert("hello"))
}

执行以下代码时,我收到此错误:

undefined is not an object evaluating
('_this.setState({playerMarkerPositionFuture: event.nativeEvent.coordinate}).then')

如果我取消了promise ,一切都按预期进行,这意味着我很可能以错误的方式使用了promise :

onDragEnd={
    (event) => this.setState({ playerMarkerPositionFuture: event.nativeEvent.coordinate })
}

推荐答案

setState接受回调,但不返回promise .See docs

对setState的调用是异步的——不要依赖于此.state以在调用setState后立即反映新值.如果需要基于当前状态计算值,请传递更新程序函数,而不是对象(有关详细信息,请参见下文).

(event) => {
    this.setState({playerMarkerPositionFuture: event.nativeEvent.coordinate }, () => alert("hello"));
}

React-native相关问答推荐

ITMS—91053:缺少API声明—ReactNative

Redux将旧状态迁移到新状态

NativeWind边框 colored颜色 在Reaction Native应用程序中未按预期工作

原生react :顶部的滑块位置

对iOS通知上未显示的本机映像做出react

无法读取 @react-native-async-storage/async-storage 的未定义属性setItem

React Native WebView 中的 Javascript console.log()

Visual Studio 代码错误:-Failed to start flow Error: Wrong version of Flow. The config specifies version ^0.92.0 but this is version 0.95.1

如何启用 stacktrace react-native run-android 命令?

使用 react-native 单击时如何更改图像和文本 colored颜色 ?

如何在 React Native 中删除警告

React-Native:显示加载屏幕直到加载 webview

如何在 React Native cli 中获取 SHA-1 密钥?

如何在 React Native 中按下按钮时更改文本值?

以编程方式在 React Native 中添加组件

React Native 动画 - zoom 时 translateX 和 translateY

React Native Bullet Character? or Unicode?

INSTALL_FAILED_INSUFFICIENT_STORAGE 运行 npm run android 命令时出错

React Navigation 切换背景 colored颜色 和样式 StackNavigator

在 React Native 中,两个等宽的按钮水平填充屏幕