Coffeescript - 单击后React setState不呈现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Coffeescript - 单击后React setState不呈现相关的知识,希望对你有一定的参考价值。
我试图在用户点击按钮时更改按钮的文本。
状态发生了变化,但组件似乎没有重新渲染
但是,当我将状态置于上层(在外部if语句中)时,组件文本确实会发生变化(但它会在单独的视图中)。我需要在else if
条款中保留该组件
我错过了什么或者这不起作用吗?我仍在学习反应,并不了解国家的整个概念和更深层次的国家变化
render: ->
if @state.couponSet == true and @state.couponSuccess != true
div {},
"Some view"
else if @state.couponMode != true and @ state.couponSuccess != true
div { className: "container" },
SelectButton
clickHandler: @onSelectPlan.bind(null, this, 0)
wrapperClassName: 'button-wrapper'
className: 'plan-select'
buttonText: if @state.planSelected == true then "Selected" else "Select"
else
...
在onSelectPlan
onSelectPlan: (e, plan) ->
if plan == 0
@setState planSelected: true
答案
你的“绑定”看起来不对。你可能根本不需要“绑定” - 只需使用一个胖箭头:
SelectButton
clickHandler: (e, plan) =>
if plan is 0
@setState planSelected: true
以上是关于Coffeescript - 单击后React setState不呈现的主要内容,如果未能解决你的问题,请参考以下文章
Webstorm 中的 coffeescript-react (.cjsx) 支持
如何在 React with Coffeescript 中渲染 HTML 标签?
React Native - 单击 Flatlist 的项目(搜索列表后)