Как установить значение Reactjs Defaultprops в глобальную переменную после функции JavaScript - PullRequest
0 голосов
/ 20 сентября 2019

Возникли проблемы при установке значения реквизита по умолчанию для глобального значения, установленного из функции JavaScript.

Я запускал файл JavaScript сам по себе и проверил значения, но когда я устанавливаю значение реквизита по умолчанию, оно всегда не определено.Я попытался установить его в:

csProdServerTotal {csProdServerTotal}

import React from "react";
import PropTypes from "prop-types";
import { Container, Row, Col } from "shards-react";
import PageTitle from "./../components/common/PageTitle";
import SmallStats from "./../components/common/SmallStats";
import UsersOverview from "./../components/blog/UsersOverview";
import UsersByDevice from "./../components/blog/UsersByDevice";
import NewDraft from "./../components/blog/NewDraft";
import Discussions from "./../components/blog/Discussions";
import TopReferrals from "./../components/common/TopReferrals";
var request = require('request');
var cheerio = require('cheerio');
var csProdServerTotal;
var csProdServerOnlineTotal;
var csProdOnlinePercentage;
var statusOK = "OK";

request('http://Somewebsite.html', function (error, response, html) {
  if (!error && response.statusCode == 200) {
    var $ = cheerio.load(html);
    $('body').attr('id', 'value');
    $("table").addClass("tableClass"); 
    var parsedResults = [];
    $('.tableClass').find("tr").each(function(row, element){

        var row = {
          "region" : $(this).children().html(),
          "application" : $(this).children().next().html(),
          "server" : $(this).children().next().next().html(),
          "sslportnumber" : $(this).children().next().next().next().html(),
          "status"  : $(this).children().next().next().next().next().html()
        };
        parsedResults.push(row);
       });
    parsedResults.shift();
    parsedResults[0]['status'] = "NOT";
    var csProdServerOnlineTotal = parsedResults.filter((row) => row.status === statusOK).length ;
    csProdServerTotal = $('.tableClass tr').length - 1;
    csProdOnlinePercentage = Math.round(csProdServerOnlineTotal * 100.0 / csProdServerTotal);


  }
});



BlogOverview.defaultProps = {
  smallStats: [
    {
      label: "Posts",
      //value: "2,390",
      value:  csProdServerTotal,
      //percentage: "4.7%",
      percentage: csProdOnlinePercentage,
      increase: true,
      chartLabels: [null, null, null, null, null, null, null],
      attrs: { md: "6", sm: "6" },
      datasets: [
        {
          label: "Today",
          fill: "start",
          borderWidth: 1.5,
          backgroundColor: "rgba(0, 184, 216, 0.1)",
          borderColor: "rgb(0, 184, 216)",
          data: [4, 7, 1, 3, 5, 4, 7]
        }
      ]
    }
  ]
};

export default BlogOverview;

Я пытаюсь получить значение defaultprops для значения smallStat и процентное значение, чтобы показать глобально установленное значение из предыдущегоФункция запроса JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...