首页 > 解决方案 > 为什么我的 setState 函数不是未定义的?

问题描述

尝试使用 setState 函数,无论我在哪里使用它,它都会以未定义的形式返回?

const StreamingCaptionViewer = () => {
  const [trans, setTrans] = useState(null);
  const [sentidata, setSentidata] = useState();
  const [entidata, setEntidata] = useState();
  const socket = useSocket('transcript', (data) => {
    console.log(`data recieved: ${JSON.stringify(data)}`);
    setTrans(data);
  });

  this.setSentidata = this.setSentidata.bind(this);  // Here is the error (undefined)

  const ErrorMessage = {
    color: 'red',
    fontSize: '13px',
    visibility: 'hidden',
  };

标签: reactjs

解决方案


您没有使用类组件,因此不需要this. 你可以简单地setSentidata(whatever)


推荐阅读