gpt4 book ai didi

javascript - React中的JS渲染

转载 作者:行者123 更新时间:2023-12-03 13:24:00 25 4
gpt4 key购买 nike

我有JavaScript-Webscraper。我在ReactJS应用程序的我的组件文件夹中添加了它。我正在尝试将此呈现到网页中。

我在其他组件中使用的JSX组件来渲染它。

如何将此webscraper javascript的输出获取到网页中。
我知道必须更改console.log()语句,但我不知道如何进行。

var Nightmare = require('nightmare');
var nightmare = Nightmare({ show: false})

nightmare
.goto('http://javascriptissexy.com/16-javascript-concepts-you-must-know-well/')

//.wait('#entry-content')
.evaluate(function () {
var ht = document.querySelector('li');
//return ht[0];
//return (ht.split(/\r\n|\r|\n/).length);
//check = document.querySelectorAll('#bodyblock > ul >li').length;
//return check;
//var ht1 = document.querySelectorAll('#bodyblock > ul > li ').innerText[5];
//return ht1;
return ht;


})
.end()
.then(function (result) {
console.log(result)
})
.catch(function (error) {
console.log('Search failed:', error);
});

最佳答案

您上面的函数只是获取数据,然后,如果您想在react页面上显示数据,则必须使用this.setState(),页面将被重新渲染。

我假设上面的函数运行良好,那么您可以使用如下代码:(根据React Component的生命周期):

import React from 'react';
import Nightmare from 'nightmare';

export default class MyClass extends React.Component {

constructor(props) {
super(props);
this.state = {
resultFromScraping: '',
}
}

componentWillMount() {
var nightmare = Nightmare({ show: false});

nightmare
.goto('http://javascriptissexy.com/16-javascript-concepts-you-must-know-well/')

//.wait('#entry-content')
.evaluate(function () {
var ht = document.querySelector('li');
//return ht[0];
//return (ht.split(/\r\n|\r|\n/).length);
//check = document.querySelectorAll('#bodyblock > ul >li').length;
//return check;
//var ht1 = document.querySelectorAll('#bodyblock > ul > li ').innerText[5];
//return ht1;
return ht;


})
.end()
.then( (result) => { //here we use lexical binding, to bind this callback function to the current react component
console.log(result);
this.setState({
resultFromScraping: JSON.stringify(result), //this is just an example, you can do whatever you want with the result here
});

})
.catch(function (error) {
console.log('Search failed:', error);
});
}

render() {
return (
<div>{this.state.resultFromScraping}</div>
);
}
}

如果您有任何错误,请在此处发布,我们可以找到一个解决方案,谢谢^^!

关于javascript - React中的JS渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44424230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com