如何使用状态制作通用的切换功能?

时间:2019-04-25 15:42:57

标签: reactjs toggle state setstate

如何(如果可能)正确设置此通用的Toggle函数,以使用状态显示模态和条件渲染?

我的尝试遇到语法错误。

toggle = (e) => {
let stateTarget = e.target.name;
this.setState({ [e.target.name]: !this.state.?})};

2 个答案:

答案 0 :(得分:0)

您可以使用stateTarget变量使用大括号从状态访问当前值。例如:

toggle = e => {
    const stateTarget = e.target.name;
    this.setState({ [stateTarget]: !this.state[stateTarget] });
}

还建议使用setState的功能版本,这样,您将使用组件状态的最新版本,而不用冒险使用过时的版本。您可以这样操作:

toggle = e => {
    const stateTarget = e.target.name;
    this.setState(prevState => ({ [stateTarget]: !prevState[stateTarget] }));
}

答案 1 :(得分:0)

您可以使用闭包。

libgfortran.so.4

并像这样使用

toggle = name => e => {
  this.setState(prev => ({ [name]: !prev[name] }));
}