Возвращать объект json для метода render - React.js

Попробуйте следующее:

function pause(){
   read -p "$*"
}
1
задан Enrique Bermúdez 13 July 2018 в 14:00
поделиться

3 ответа

Вы не можете напрямую печатать объекты или массивы. Хотя функция {JSON.stringify(this.state.pokemon)} определенно работает и позволяет вам распечатать ваш объект в виде строки, вы также можете распечатать свои свойства объекта отдельно, если вам нужно.

Вы можете исправить свой код, изменив {this.state.pokemon} на что-то вроде -

{this.state.pokemon.id}
{this.state.pokemon.name} 
{this.state.pokemon.sprite}
{this.state.pokemon.height}
{this.state.pokemon.weight}
{this.state.pokemon.types}
1
ответ дан Rohit Nethi 17 August 2018 в 12:40
поделиться

Хотя реакция не позволяет визуализировать объект. вы можете создать функцию, параллельную рендерингу и передать объект, и визуализировать в этой функции; что-то вроде ниже.

_render(obj){
   return <code>{obj}</code> //here also jsx syntax are valid.
}

render() {
        return (
            <div>
                <form onSubmit={this.handleSubmit}>
                    <label>
                        Pokemon's id
                        <input type="text" value={this.state.input_id} onChange={this.handleChange} />
                    </label>
                    <input type="submit" value="Find!"/>
                </form>
                {this._render(this.state.pokemon)}
            </div>
        );
    } // render
0
ответ дан Manoj Yadav 17 August 2018 в 12:40
поделиться

React не позволяет вам иметь объекты в качестве дочернего элемента React, поэтому сначала вы можете записать его в строку с JSON.stringify:

<code>{JSON.stringify(this.state.pokemon)}</code>
2
ответ дан Tholle 17 August 2018 в 12:40
поделиться
  • 1
    Даже я думал, что хочу отображать каждое поле в отдельности (я объяснил себе неправильно, извините). Это будет полезно для меня, чтобы я мог видеть необработанные данные. Большое спасибо! – Enrique Bermúdez 13 July 2018 в 15:03
Другие вопросы по тегам:

Похожие вопросы: