我正在尝试在用户点击按钮时更改按钮的文字。
状态发生变化,但组件似乎没有重新渲染
但是,当我将状态置于上层(在外部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
答案 0 :(得分:0)
你的“绑定”看起来不对劲。 你可能根本不需要“绑定” - 只需使用一个胖箭头:
SelectButton
clickHandler: (e, plan) =>
if plan is 0
@setState planSelected: true