在React无状态组件中切换子项

时间:2016-11-09 01:04:17

标签: reactjs

我使用的是有状态的组件但是在使其成为无状态时我不清楚如何/如果我可以切换内部字段:

这是一个人为的例子。我实际上正在使用react-redux-form,需要根据某些无线电切换某些输入字段。

const Sample = (props) => {

  let show = true
  const toggleMethod = (model, value) => {
    show = !show
  }

  return (
    <div>
      <Control changeAction={toggleMethod} />
      { show === 'cc' ? <CCFIelds /> : null }

    </div>
    )
}

切换方法效果很好,但不会重新渲染。我是否有义务为此使用州或有没有办法按原样使用?

1 个答案:

答案 0 :(得分:0)

当@Jason Xu说你可以派遣改变状态时,这是一种影响父母并引起重新投降的方式,但你不必减少。

最简单的方法是让父(智能容器)拥有并控制show变量,然后作为道具传递给无状态组件。在父级中定义toggleMethod(),并向下传递。

总结:

  1. show在父级

  2. 中切换
  3. prop更改

  4. 无国籍组件重新出现