我有一个尝试将keyDown绑定到的播放列表。问题是我无法使用典型的React.Component,因为我正在使用需要使用功能性无状态组件(SortableContainer)的库(https://github.com/clauderic/react-sortable-hoc) )。所以我什至无法访问道具或状态。我试图将数据作为参数传递而没有任何效果。

这可行,但是我需要以某种方式将数据传递给handleKeyDown ..特别是我真的想以某种方式将“道具”传递给handleKeyDown

function handleKeyDown(e) {
  // **** I need some way to access outside data in here some how..
  //      whether it's passed as a parameter or any other way
  console.log(e.keyCode);
}

const PlaylistPages = SortableContainer(( props ) => {
  return (
    <div className="playlist-sortable" onKeyDown={handleKeyDown} tabIndex="0">
    // etc
  );
}

最佳答案

使用arrow function,并在handleKeyDown函数内传递props和event对象。

像这样写:

onKeyDown = { e => handleKeyDown(props, e)}

handleKeyDown(props, e){
   console.log(e.target, props);
}

关于javascript - 将参数传递给无状态功能组件中的事件函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45925455/

10-09 16:58