函数仅在 React Native 中运行两次后才返回参数

我正在寻找实现这个可拖动列表,一切正常,但我的控制台日志在第一次尝试时没有显示任何内容,只有在我第二次运行该函数时才有效,我需要该order变量,以便我可以更新数据库


<SortableListView

    removeClippedSubviews={false}

    style={{ flex: 1 }}

    data={data}

    order={order}

    onRowMoved={(e) => {

    order.splice(e.to, 0, order.splice(e.from, 1)[0])

    this.forceUpdate()

    this.updateList(order)

    }}

    renderRow={(row) => <RowComponent data={row} />}

/>

这是我的功能,我知道它是异步的,但不知道该怎么做


  updateList = (neworder, e) => {

    console.log('updated')

    console.log('order: ' + order)

    console.log('neworder: ' + neworder)

  }

onRowMoved我尝试像这样在函数中添加 setState 和回调,同样的问题


this.setState({ neworder: order }, this.updateList)


摇曳的蔷薇
浏览 100回答 1
1回答

SMILET

使用:组件DidMount()在里面调用你的函数。或者每次触发您的 setState 时,使请求重新加载this.setState({&nbsp;neworder:&nbsp;order},&nbsp;()&nbsp;=>&nbsp;{this.updateList()&nbsp;})根据您的角色,是否有必要将 this.updateList 包裹在花括号中
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript