Реагировать, не отображая элементы списка

Проблема

Он не показывает элементы внутри item. На данный момент он ничего не отображает.

List.js

import React from 'react';

const List = props => (
  <div>
    {
      props.items.map((item, index) => {
      return <div key = {index}>
          <h1>{item.name}</h1>

          <p>{item.term}</p>

      </div>
    })}
  </div>
);

экспорт списка по умолчанию;

App.js

import React, {Component} from 'react'
import './App.css'
import List from './List';

class App extends Component {

    constructor(props) {
        super(props);

        this.state = {
            term: '',
            name: '',
            items: []
        };
    }

    onChange = (event) => {
        const { name, value } = event.target;
        this.setState({ [name]: value });

    }

    onSubmit = (event) => {
        event.preventDefault();

        this.setState({
            term: '',
            name: '',
            items: [
                ...this.state.items,
                this.state.term,
                this.state.name
            ]
        });

    }

    render() {
        const { term, name, items } = this.state;
        return (
          <div>
                <form className = "App" onSubmit = {this.onSubmit}>
                    <input name = "term" value = {this.state.term} onChange = {this.onChange}/>
                    <input name = "name" value = {this.state.name} onChange = {this.onChange}/>
                    <button>Submit</button>
                </form>


              <List items = {this.state.items} />

            </div>
        );
    }

}

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

Ответы 1

Ответ принят как подходящий

Проблема была в onSubmit, вам нужно преобразовать в объект, а затем добавить

onSubmit = event => {
    event.preventDefault();

    this.setState({
      term: "",
      name: "",
      items: [...this.state.items, { term: this.state.term, name: this.state.name}]
    });
    setTimeout(() => { console.info(this.state.items) }, 0)
  };

https://codesandbox.io/s/p7p128w7mx

позвольте мне попробовать.

BARNOWL 22.12.2018 19:27

Это работает, спасибо, поэтому мне просто нужно преобразовать в объект, а затем добавить, теперь я вижу.

BARNOWL 22.12.2018 19:30

Приветствую @BARNOWL :)

Aamin Khan 22.12.2018 19:37

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