渲染中的 React.js 事件绑定?

IT技术 reactjs
2022-07-07 02:16:31

将用户交互事件(例如“点击”功能)绑定到函数内部的 html 标签真的是react方式render吗?是否还有一种“react方式”,用于绑定(html)元素交互事件,使得它们不会在每次调用时重新定义render

我会假设当涉及到动画时会对性能产生影响。

问题很笼统,但示例代码如下(在此上下文中,onClick事件绑定)。

  render() {
        return (
            <Animate
              start={() => ({
                x: this.state.x,
                y: this.state.y
              })}

              update={() => ({
                x: [this.state.selected ? this.setX(true) : this.setX(false)],
                y: [this.state.selected ? this.setY(true) : this.setY(false)],
                timing: { duration: 1500, ease: easeCubicInOut },
              })}
            >
              {(state) => {
                const { x, y } = state;
                return (
                    <div onClick={this.reverseSelection} className={this.state.style}
                      style={{
                        WebkitTransform: `translate3d(${x}px, ${y}px, 0)`,
                        transform: `translate3d(${x}px, ${y}px, 0)`,
                      }}
                    >
                    {this.props.name}
                  </div>
                );
              }}
            </Animate>
        )

      }
    }

如果这确实是推荐的方式,有没有办法减少假设的性能影响,如果你假设动画正在发生并且我们希望在动画期间是轻量级的?

0个回答
没有发现任何回复~