reactjs - 为什么我的 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',
};
解决方案
您没有使用类组件,因此不需要this
. 你可以简单地setSentidata(whatever)
推荐阅读
- ios - 如何从 iOS 应用通知设置重定向到应用通知设置
- python - Python Y 轴刻度归一化
- c++ - 强大的兼容性检查?
- regex - 在TextPad中以递增顺序替换数字的正则表达式
- charts - 如何从 chart.js 中删除值
- javascript - 解决 tslint-immutable 函数式编程原理的合适方法
- javascript - 将 Vue.js 用于客户端并使用 Express 用于服务器端时出现“Access-Control-Allow-Origin”CORS 问题
- spring-boot - 从 Tranisitive Dependecies 中删除 Log4j2.xml 并在 springboot 项目中使用 Log4j2-spring.xml
- sql - 左加入建议
- erlang - Elixir - 如何改进代码和风格