功能性反应:如何使用地图功能的输入处理setState?

Zuz*_*man 0 reactjs

使用react hook,我想将所有类都转换为函数。假设这是我返回的渲染:

{layerList.map(i => {
        return (
          <Button
            className="button-layer"
            type="primary"
            onClick={handleAa(i)}
          > {aa}
          </Button> 
          <Button
             className="button-layer"  
             type="primary"
             key={some_values}
             onClick={ handleChange(i) }
          >
            {i}
          </Button>
        )
      } )}
Run Code Online (Sandbox Code Playgroud)

如何传递i给handleChange函数?

Jay*_*444 6

您需要一个函数,而不是一个函数调用作为函数prop的值。例如

onClick={() => handleAa(i)}
Run Code Online (Sandbox Code Playgroud)

onClick={() => handleChange(i)}
Run Code Online (Sandbox Code Playgroud)

如果按原样传递函数调用,那么它将在呈现时立即调用一次,而不是在单击时调用一次。