javascript - 如何绑定(bind)函数而不是创建新函数?

标签 javascript reactjs

我是新来的 react 。这里我有一个功能组件。其中我有

const bginfo = useLocalStore(() => ({
      status: bgStatus,
      setStatus(val) {
        bginfo.status = val;
      }
    }));
return (
  <div className={css.root}>
    <Select
      onChange={(event) => bginfo.setStatus(event.target.value)}
      value={bginfo.status}
      id="bgStatus"
    />

所以,在此,现在我不想创建新实例,而是 bind function here instead of creating new instance.

我该怎么做?谁能帮我解决这个问题吗?

最佳答案

创建一个新函数并传递给onChange,如果您将其与onChange/onClick一起使用,它会自动传递事件

setStatus = (event) => {
  bginfo.setStatus(event.target.value);
}

<Select
  onChange={setStatus}
  value={bginfo.status}
  id="bgStatus"
/>

这是来自 React docs 的官方示例

function ActionLink() {
  function handleClick(e) {
    e.preventDefault();
    console.log('The link was clicked.');
  }

  return (
    <a href="#" onClick={handleClick}>
      Click me
    </a>
  );
}

关于javascript - 如何绑定(bind)函数而不是创建新函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60538727/

相关文章:

javascript - 如何从 JSON 对象中提取多个主题标签?

javascript - jQuery 日期选择器默认格式不起作用

javascript - 如何更改 shopify 主题名称

javascript - TypeScript 编译器选项 "unexpected token import"

google-maps-api-3 - 在没有react-google-map的情况下渲染Google map

reactjs - 使用React在列表中的项目更改顺序时进行动画处理?

javascript - 在 ASP.NET 中使用 Javascript 删除添加的控件

javascript - 为什么我不能在 Javascript 中滚动循环?

reactjs - React Deep 仅比较一个 prop

javascript - 在 React 中通过 props 传递 ref 以防止重复常用功能