Условный рендеринг внутри компонента

У меня есть Semantic UI Modal в отдельном компоненте, и я вызываю другой компонент. Это работает нормально.

Если я добавлю условие if внутри модального окна, оно выдаст ошибку.

Ниже мой код.

Modal.js

import React from 'react'
import { Button, Icon, Modal as SemanticModal} from 'semantic-ui-react'

const Modal = ({trigger, header, size, dimmer, content, actions}) => (
    <SemanticModal
        trigger = {trigger}
        size = {size}
        dimmer = {dimmer}
        header = {header}
        content = {content}
        actions = {actions}
      />
    )

export default Modal;

App.js

<Modal
    trigger = {<a>Link</a>}
    size = {'small'}
    dimmer = {'blurring'}
    header = {result== = ""?"<Header icon='spinner loading'/>":"<Header content='Result' />"}
    content = {result== = ""?"<p>Loading...</p>":"<p>showing the result</p>"}
/>

Вышеупомянутый работает нормально.

Но ниже не работает

App.js

<Modal
    trigger = {<a>Link</a>}
    size = {'small'}
    dimmer = {'blurring'}

    {
       publishStatus= = "" ? (
            header = "<Header icon='spinner loading'/>"
            content = "Loading..."
       ) : (
            header = "<Header content='Result' />"
            content = "showing the result"
       )
    }


    header = {result== = ""?"<Header icon='spinner loading'/>":"<Header content='Result' />"}
    content = {result== = ""?"<p>Loading...</p>":"<p>showing the result</p>"}
/>

Что не так в вышеописанном методе?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
337
1

Ответы 1

Что-то вроде этого ? Хотя не самый чистый подход

        <Modal
          trigger = {<a>Link</a>}
          size = "small"
          dimmer = "blurring"
          {
           ...publishStatus === '' ? {
                header: <Header icon='spinner loading'/>,
                content: 'Loading...',
           } : {
                header: <Header content='Result' />,
                content: 'showing the result',
               }
          }
        />

да .. Это работает .. но я получаю сообщение об ошибке в теге header. он не распознается как size или dimmer. Как сделать заголовок и контент модальными атрибутами?

Dhanapal 24.03.2019 20:43

Обновил комментарий, думаю Header не стоит заключать в запятые

AlexZvl 24.03.2019 20:44

о... Извините за путаницу.. Я имею в виду, что сами атрибуты header: и content: не распознаются.

Dhanapal 24.03.2019 20:47

@Dhanapal, извини, я не понимаю. Проверьте этот пример: codeandbox.io/s/wkyjk2426l?module=/example.js

AlexZvl 24.03.2019 21:12

Другие вопросы по теме