Full-stack разработка на JS
Контакты

Наибольший вклад в теги

Все теги (10)

Лучшие ответы пользователя

Все ответы (13)
  • Где искать коллектив фрилансеру?

    @montecazazza
    Node, GraphQL, React
    Насчет девушки - не слушай, это все от лукавого.
    Не, если конечно есть желание общаться на темы:
    что бы одеть?
    что бы съесть, чтобы похудеть?
    какие они все сволочи!
    что ты молчишь?
    пр...
    ))
    Готов предложить себя в качестве code buddy, учусь но уже не dummy. могу составить компашку и покодить время от времени вместе как pair programming, обменяться best practices, обсудить новые фитчи и фреймфорки. Я пишу на js. Node, React, Redux, GraphQL и все такое. Заинтересован поработать в команде для опыта и чтобы получить оценку своих скилов, так что готов поучаствовать немного в твоих проектах для этих целей
    если интерестно пиши (storozvic@gmail.com) это кстати, относится не только к автору вопроса но и ко всем кто это видит.
    Если ты крутой вэбдев буду рад поучится у тебя, поделаю задания за code review и прочий экспирианс))
    Ответ написан
    1 комментарий
  • Удаление элемента?

    @montecazazza
    Node, GraphQL, React
    Если я правильно понял проблему, то вы хотите, привязать к обработчику onClick индекс элемента. Я предпочитаю делать это через замыкания.
    Попутно советую перенести bind в конструктор.
    Кстате, bind можно не делать, если заменить объявление метода на стрелочный синтаксис тогда все станет намного наглядней метод будет выглядеть вот так и как я сказал bind не нужен:
    removeCount = (idx) => (/*сюда будет передан event, но он вам типа не нужен*/) => {
      /* тело с this, он будет autobinded */
    }

    Конструктор тоже будет не нужен, можно просто написать state
    class App extends React.Component {
      //constructor(){
      //  super();
      //  this.state ={
      //   count: [1,2,3,4,5,6,7,8,9]
      //  }
      //  this.removeCount = this.removeCount.bind(this)
      //}
      this.state = {
        count: [1,2,3,4,5,6,7,8,9]
      };
      /*...*/
    }


    Но я сохранил твой вариант
    Если заменить метод splice на не мутирующий slice, то тело функции станет одной строкой без доп. переменных. Подсказка в коде

    class App extends React.Component {
      constructor(){
        super();
        this.state ={
          count: [1,2,3,4,5,6,7,8,9]
        }
      this.removeCount = this.removeCount.bind(this)
      }
      removeCount(idx) {
        return function() {
          let newItems = this.state.count;
          newItems.splice(idx, 1);
          this.setState({count: newItems});
          // this.setState({count: this.state.count.slice(/*чо нада*/)});
          // все что выше в методе тогда не нужно
        }
      }
      render() {
        const list = this.state.count.map(function(index, i){
          return (
            <div 
              key={i} 
              onClick={this.removeCount(i)}>
                <p>{index}</p>
            </div>
          );
        })
        return (
          <div className="row">
           {list}
          </div>
        );
      }
    }
    
    ReactDOM.render(<App />, document.getElementById('container'));


    Ну ОК, мой вариант выглядел бы так (возможны опечатки, пишу прям тут)
    class App extends React.Component {
       state ={
         count: [1,2,3,4,5,6,7,8,9]
      }
      removeCount = (idx) => () => {
        this.setState({count: this.state.count.slice(idx, 1)});
      }
      render() {
        return (
          <div className="row">
           {this.state.count.map(i => (
              <div 
                key={i} 
                onClick={this.removeCount(i)}>
                  <p>{i}</p>
              </div>
            ))}
          </div>
        );
      }
    }
    
    ReactDOM.render(<App />, document.getElementById('container'));
    Ответ написан
    Комментировать
  • Как повысить уровень программирования?

    @montecazazza
    Node, GraphQL, React
    Я бы порекомендовал вот что:
    Изучить паттерны проектировани - это однозначно будет полезно
    Изучить другую парадигму - если вы из ООП, изучите Функциональное программирование
    Если пишите на JavaScript прочитайте что-нибудь на тему object composition vs class inheritance
    Ну и конечно изучите что-нибудь на тему Алгоритмы и Структуры данных если с этой темой не знакомы

    Из всего этого я бы выделил изучение нового подхода (Функционального) - по ходу изучения узнаете много интересного
    Ответ написан
    Комментировать
  • Будет ли логичным сделать серверную часть на node js для мини игры на phaser?

    @montecazazza
    Node, GraphQL, React
    Node проигрывает тогда, когда нужны тяжелые расчеты, все остальное не проблема.
    Ответ написан
    Комментировать
  • Как правильно спроектировать сайт на react + node js?

    @montecazazza
    Node, GraphQL, React
    https://github.com/facebookincubator/create-react-app - с этого можно начать, чтобы не заморачиваться со сборщиком и настройкой. Можно легко начать и фронт и бэк.
    https://github.com/styled-components/styled-components - это добавить для стилей - ИМХО самый удобный вариант
    Ну роутер и прочее что необходимо по ходу будет.
    Вообще не очень понятно зачем React если не SPA.
    Ответ написан
    Комментировать