Передача функциональных элементов для рендеринга в js - PullRequest
0 голосов
/ 19 июня 2020

У меня есть в js функция класса contenidoNuevo (), которая запускается в зависимости от разницы дат, которые у меня есть в моем веб-приложении. В операторе else у меня есть класс Card, который включает линейную диаграмму из response-chart js -2. Я хотел бы запустить класс contenidoNuevo в моем компоненте рендеринга. Теперь, если моя разница в днях отличается от 0, отображается Hola George !, если даты отличаются от 0, я хочу отобразить график. Как я могу этого добиться? Спасибо!

функция contenidoNuevo:

contenidoNuevo = () => {
   if (this.state.difference_days != 0) {
     return <h1>Hola George!</h1>
   }
   else {
     console.log(this.state.prueba)

     <Card
         title="Conversaciones por día del mes"
         chartType="line"
         labels={Object.keys(this.state.day_month_conversation)}
         datasets={[
             {
                 label: 'Número de conversaciones actuales',
                 fill: false,
                 lineTension: 0.1,
                 backgroundColor: '#F07C30',
                 borderColor: '#FA6A01',
                 borderCapStyle: 'butt',
                 borderDash: [],
                 borderDashOffset: 0.0,
                 borderJoinStyle: 'miter',
                 pointBorderColor: '#F07C30',
                 pointBackgroundColor: '#FA6A01',
                 pointBorderWidth: 1,
                 pointHoverRadius: 5,
                 pointHoverBackgroundColor: '#F07C30',
                 pointHoverBorderColor: '#FA6A01',
                 pointHoverBorderWidth: 2,
                 pointRadius: 1,
                 pointHitRadius: 10,
                 data: Object.values(this.state.day_month_conversation)   
             }
         ]}
     />

    return Card
}

render ():

render() {
  return (
   .
   .
   .

  <div className="row">
    <div className="col-12 mb-30">
      {this.contenidoNuevo()}
    </div>
  </div>
}

1 Ответ

1 голос
/ 19 июня 2020

Предполагая, что вы используете react-native (я имею в виду создание приложения) и карта уже создана, попробуйте заменить вашу функцию на следующий код:

function contenidoNuevo () {
    var Obj = this.state.difference_days;

    return <>

        {Obj != 0 &&
            <View>Hola George!</View>
        }

        {Obj == 0 && 
            <Card
                title="Conversaciones por día del mes"
                chartType="line"
                labels={Object.keys(this.state.day_month_conversation)}
                datasets={[
                    {
                        label: 'Número de conversaciones actuales',
                        fill: false,
                        lineTension: 0.1,
                        backgroundColor: '#F07C30',
                        borderColor: '#FA6A01',
                        borderCapStyle: 'butt',
                        borderDash: [],
                        borderDashOffset: 0.0,
                        borderJoinStyle: 'miter',
                        pointBorderColor: '#F07C30',
                        pointBackgroundColor: '#FA6A01',
                        pointBorderWidth: 1,
                        pointHoverRadius: 5,
                        pointHoverBackgroundColor: '#F07C30',
                        pointHoverBorderColor: '#FA6A01',
                        pointHoverBorderWidth: 2,
                        pointRadius: 1,
                        pointHitRadius: 10,
                        data: Object.values(this.state.day_month_conversation)
                    }
                ]}
            />
        }
    </>
}

Надеюсь, это вам помогло.

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