функции недействительны как реагирующий ребенок, почему я это получаю? - PullRequest
0 голосов
/ 15 октября 2018

Я получаю эту проблему, в результате чего у меня есть этот компонент

export class MyComponent extends Component {
    myFunc() {

    }

    myFunc2(){

    }
    render this.myFunc() ? (
        <div> 
            { this.myFunc2() ? (
                <AnotherComponent />
            ) : <Fragment />
            }
        </div>
    )
}

, но я получаю сообщение об ошибке: functions are not valid as a react child, когда я пытаюсь выполнить рендеринг func2 в блоке рендеринга?

однако, когда я присваиваю его const, как const x = this.myFunc2(), а затем отображаю x ? something : null.ошибка исчезает

и myFunc, и myFunc2 просто возвращают истину или ложь в зависимости от реквизита, так почему я получаю эту ошибку?

и почему я получаю ошибку для myFunc2 но не myFunc?

1 Ответ

0 голосов
/ 15 октября 2018

Во-первых, вам нужно сделать render такой функцией, как

render()

Во-вторых, вашей функции рендеринга необходимо вернуть значение:

render() { return ....}

И, наконец, вам необходимо завершить троичный оператор для this.myFunc() проверки состояния

this.myFunc() ? .... : null

Вот рабочий пример для того же:

https://stackblitz.com/edit/react-sdpbgg?file=Hello.js

...