我正在为 Puppeteer 使用 Typescript。我正在尝试从元素中获取innerText。
const data = await page.$eval(selector, node => node.innerText);
Run Code Online (Sandbox Code Playgroud)
我收到错误:
“元素”类型上不存在属性“innerText”
我尝试像这个问题中描述的那样转换为 HTMLElement: 错误“属性 'innerText' 在类型 'EventTarget' 上不存在”?
const data = await page.$eval(selector, <HTMLElement>(node: HTMLElement) => node.innerText);
Run Code Online (Sandbox Code Playgroud)
以及像这样创建我自己的界面:
interface TextElement extends Element {
innerText: string;
}
Run Code Online (Sandbox Code Playgroud)
但在每种情况下,我都收到了这个特定类型上不存在 innerText 的错误。
“HTMLElement”类型上不存在属性“innerText”
为什么会发生这种情况以及如何处理?
我正在尝试异步加载图像,并且仅在加载图像后才将其显示在 React 应用程序中。
componentDidMount() {
const img = new Image();
img.onload = () => {
this.setState({
originalImage: img,
});
}
img.src = './images/testImage.jpg'
}
render() {
return (
<main>
{
this.state.originalImage
}
</main>
);
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
对象作为 React 子对象无效(找到:[object HTMLImageElement])
我想知道为什么会发生这个错误。当然,如果我只添加一个<img>标签,它就可以正常工作。
我正在做一个处理C++中Structs的学校作业.赋值不允许使用STL或new/ delete.
我在杂志上代表物品.
struct PLACE {
int itemCount;
int etiquette[2];
};
struct SHELF {
int placesCount;
PLACE places[128];
};
struct RACK {
int shelvesCount;
SHELF shelves[128];
};
struct MAG {
int racksCount;
RACK racks[5];
};
Run Code Online (Sandbox Code Playgroud)
现在,当我运行以下代码时,它工作正常,但如果我将机架阵列的长度更改为20,我收到运行时错误(code.exe已停止工作).
PLACE place1 = {1, {1,2}};
SHELF shelf1 = {2, {place1}};
RACK rack1 = {3, {shelf1}};
MAG mag1 = {1, {rack1}};
Run Code Online (Sandbox Code Playgroud)
好像我超过了某种记忆?我原以为不太可能,因为当我计算它时,(当机架长度为5时)我只使用(((12*128)+ 4)*128 + 4)*5 + 4字节,大约1MB.
EDIT:
我让我的导师对此进行了一些澄清.他告诉我,这可能超过我的堆,而不是堆栈,因为:(引用)
堆栈处理函数调用和堆栈超出可能是由例如递归引起的,而在这里我们处理的是大数据,所以更确切地说是超出了堆.
他还告诉我,我的计算机可能只有一个下限(大约4MB),而我们的代码正在检查的服务器已被分配1GB来处理这么多数据.
不知道这是否正确,因为从我在线阅读的内容来看,堆栈和堆都可以分配变量而堆栈不是纯粹用于函数调用,而是用于这些函数内部的变量......