Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

setState后某些属性在Render中没有产生更新 #832

Closed
canaanjin opened this issue Oct 13, 2018 · 4 comments
Closed

setState后某些属性在Render中没有产生更新 #832

canaanjin opened this issue Oct 13, 2018 · 4 comments

Comments

@canaanjin
Copy link

问题描述
[问题描述:]
CiverView点击修改state中的值
在页面中没有产生更新

复现步骤
[复现问题的步骤]
1.
CoverView点击

         <CoverView
           id="coverViewNow"
           onClick={this.changeState}
           className={this.state.coverViewNowClass}
         >
           现在
         </CoverView>
         <CoverView
           id="coverViewMake"
           onClick={this.changeState}
           className={this.state.coverViewMakClass}
         >
           预约
         </CoverView>
  1. 处理CoverView点击事件
    state
state = {
    // 0现在
    // 1预约
    state: null,
    coverViewNowClass: "",
    coverViewMakClass: ""
  }

事件

  changeState() {
    const stateCode =
      this.state.state === null || this.state.state === 1 ? 0 : 1;

    const state = {
      coverViewNowClass: "cover-view-now",
      coverViewMakClass: "cover-view-make",
      state: stateCode
    };
    if (stateCode === 0) {
      state.coverViewMakClass += " list-item-disable";
    } else {
      state.coverViewNowClass += " list-item-disable";
    }
    this.setState(state);
  }
  1. render显示state属性
          <View>{this.state.coverViewMakClass}</View>
          <View>{this.state.state}</View>
  1. state发生改变之后页面中的state属性没有发生改变

ddd

[或者可以直接贴源代码,能贴文字就不要截图]

// 这里可以贴代码

期望行为
[这里请用简洁清晰的语言描述你期望的行为]

报错信息

[这里请贴上你的完整报错截图或文字]

系统信息

  • 操作系统: [e.g. Windows 10]
  • Taro 版本 [e.g. v.0.0.64]
  • Node.js 版本 [e.g. v9.0.0]
  • 报错平台 [h5, weapp]

补充信息
[可选]
[根据你的调查研究,出现这个问题的原因可能在哪里?]

@Chen-jj
Copy link
Contributor

Chen-jj commented Oct 15, 2018

可以更新 Taro 版本后再试试,当前稳定版本是 v1.0.7。
使用命令 Taro update self 更新 cli,然后使用 Taro update project 更新依赖。

@luckyadam
Copy link
Member

你的版本比较旧了,可以升级到最新的 1.0.7 版本来进行尝试,有一些更新需要注意的事项

#389

@canaanjin
Copy link
Author

@luckyadam @Chen-jj
我很抱歉在提issues的时候没有填写系统信息
系统信息

  • 操作系统: [e.g. Windows 10]
  • Taro 版本 [e.g. v.1.0.7]
  • Node.js 版本 [e.g. v8.11.1]
  • 报错平台 [weapp]

image

@Chen-jj
Copy link
Contributor

Chen-jj commented Oct 16, 2018

【state】在 Taro 里是关键词,换一个单词即可。

state = {
    // state: null,
    _state: null
    coverViewNowClass: "",
    coverViewMakClass: ""
}

@Chen-jj Chen-jj closed this as completed Oct 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants