Форум программистов, компьютерный форум, киберфорум
React/ReactJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 24.08.2018
Сообщений: 9

Виджет комментариев переделать с react на redux

17.01.2019, 01:44. Показов 2447. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот этот код нужно переделать в redux с компонентами редьюсерами и так далее
долго уже пытаюсь никак не получаеться(

App.js

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import React, { Component } from 'react'
import { format } from 'date-fns'
import 'bootstrap/dist/css/bootstrap.css'
 
class App extends Component {
 
  state = {
    comments: [],
    form: {
      name: '',
      comment: ''
    }
  }
 
  componentDidMount() {
    if (localStorage.getItem('state')) {
      this.setState({ ...JSON.parse(localStorage.getItem('state')) })
    }
  }
 
  addComment = () => {
    this.state.form.name = this.state.form.name.replace(/<[^>]+>/g,'');
            this.state.form.comment = this.state.form.comment.replace(/<[^>]+>/g,'');
    if (this.state.form.name.length === 0 || this.state.form.comment.length === 0) {alert('input error')}
        else{
 
        this.setState({
 
 
 
      comments: [
        ...this.state.comments,
        {
          id: this.state.comments.length ? this.state.comments.reduce((p, c) => p.id > c.id ? p : c).id + 1 : 1, // max id +1
          name: this.state.form.name,
          comment: this.state.form.comment,
          date: new Date()
        }
      ],
      form: {
        name: '',
        comment: ''
      }
    }, () => localStorage.setItem('state', JSON.stringify(this.state)))}
 
  }
 
 
  removeComment = (id) => {
    this.setState({
      comments: this.state.comments.filter(comment => comment.id !== id)
    }, () => localStorage.setItem('state', JSON.stringify(this.state)))
  }
 
  handleChange = (e) => {
    console.log(e.target.name)
    this.setState({
      form: {
        ...this.state.form,
        [e.target.name]: e.target.value,
      }
    })
  }
 
  render() {
    return (
      <div className="App">
 
        <div style={ {marginBottom: "20px"} }>
          <label>Имя: <input
 
            type="text"
            value={this.state.form.name}
            name="name"
            onChange={this.handleChange} /></label><br />
          <label>Коментарий:<br /> <textarea
            name="comment"
            value={this.state.form.comment}
            onChange={this.handleChange}></textarea>
          </label><br />
          <button className="btn btn-primary btn-lg" onClick={this.addComment}
        >Добавить комментарий</button>
        </div>
          {this.state.comments.map(comment => <div key={comment.id}>
          <span style={{ fontStyle: 'italic'}, {paddingRight : '10px'}, {paddingDown: '10px'} }>{comment.id} - {format(comment.date, 'DD/MM/YYYY')}: </span>
          <strong>{comment.name}, </strong>
          <span style={ {paddingRight : '20px'} }>{comment.comment}</span>
          <button onClick={this.removeComment.bind(null, comment.id)}>Удалить</button>
        </div>)}
        <br />
      </div>
    )
  }
}
 
export default App
index.js

JavaScript
1
2
3
4
5
import React from 'react'
import {render} from 'react-dom'
import App from './components/App'
 
render(<App/>, document.getElementById('root'))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.01.2019, 01:44
Ответы с готовыми решениями:

Redux+React. Взаимодействие redux store с сервером
Помогите понять такой момент: Приложение react+redux+ сервер на ноде. Пока не использовал сервер работа redux store была более-менее...

Стажировка JS (REACT + REDUX)
Привет всем. Ищу удаленную по REACT + REDUX. Удаленно. Обучаемый, пунктуальный. Свяжусь с Вами по контактам в теме, либо лс.

Redux-Semantic-UI-React
Фронтенд разработка для веб традиционно делится на оформление (HTML/CSS) и интерактивность (JS). Но на самом деле всё это тесно связано...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.01.2019, 01:44
Помогаю со студенческими работами здесь

JS React Router Redux
Всем доброго времени суток. Я программист VBA и недавно стал изучать JS. Помогите разобраться с кашей в голове после изучения React и...

Практика react-redux
Хотел я значит сделать игру, так как более менее основы знаю react+redux, а итоге такого наворотил, что понял, нужна практика и много...

React + Redux или Angular2 ?
Здравствуйте. Встал вопрос между выбором фреймворка/либы для нового проекта. В планах создать социальную сеть. Интересует...

Взаимодейтвие React, Redux, Immutable
Изучаю в данный момент набор технологий упомянутые в названии темы. Делаю тестовый проект с целью обучения. На данный момент я пытаюсь...

Корзина товаров на Node + React Redux
Добрый день. Я новичок в Node. Есть следующая проблема: Нужно реализовать POST при нажатии на кнопку &quot;Добавить в корзину&quot;. API...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru