setOrderData = (orderData, index) => {
if(orderData.length > index){
let key = "orderData["+index+"]";
this.setState({
[key]: orderData[index]
}, () => {
this.setOrderData(orderData, index + 1)
能正常改变数组中的某一项或者某一属性
无报错信息,state中没有数据变化
Taro CLI 1.2.14 environment info:
System:
OS: Windows 10
Binaries:
Node: 10.15.1 - D:\workTool\nodejs\node.EXE
Yarn: 1.13.0 - C:\Users\ACE\AppData\Roaming\npm\yarn.CMD
npm: 6.4.1 - D:\workTool\nodejs\npm.CMD
欢迎提交 Issue~
如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏
如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。
Good luck and happy coding~
import Taro, { Component, Config } from '@tarojs/taro'
import {View, Text, Image} from '@tarojs/components'
import {AtNavBar, AtTabs, AtTabsPane, AtList, AtListItem, AtButton, AtIcon} from 'taro-ui'
export default class Order extends Component {
* 指定config的类型声明为: Taro.Config
* 由于 typescript 对于 object 类型推导只能推出 Key 的基本类型
* 对于像 navigationBarTextStyle: 'black' 这样的推导出的类型是 string
* 提示和声明 navigationBarTextStyle: 'black' | 'white' 类型冲突, 需要显示声明类型
config: Config = {
navigationBarTitleText: '订单'
openid = '';
constructor () {
super(...arguments)
state = {
orderData:[]
setOrderData = (orderData, index) => {
if(orderData.length > index){
let key = "orderData["+index+"]";
this.setState({
[key]: orderData[index]
}, () => {
this.setOrderData(orderData, index + 1)
let orderData = ["Strawberry", "Banana", "Mango"];
this.setOrderData(orderData, 0);
componentDidMount () { }
componentWillUnmount () { }
componentDidShow () { }
componentDidHide () { }
render () {
const {orderData} = this.state;
console.log(orderData); //这里并没有更新到orderData
return (
</View>
Hello~
您的问题楼上已经有了确切的回答,如果没有更多的问题这个 issue 将在 15 天后被自动关闭。
如果您在这 15 天中更新更多信息自动关闭的流程会自动取消,如有其他问题也可以发起新的 Issue。
Good luck and happy coding~