These are chat archives for dev-ua/reactjs

3rd
Mar 2016
Serhey Shmyg
@sshmyg
Mar 03 2016 08:22
"new trend for styles in web development" - новий тренд стилі в джс пхати :) ну ну
Alexey Raspopov
@alexeyraspopov
Mar 03 2016 08:28
в тексте идет речь о css modules, насколько я вижу
Terry Sahaidak
@terrysahaidak
Mar 03 2016 12:07
як без костилів прокинути реф в батьківський компонент?
Kirill Yakovenko
@blia
Mar 03 2016 12:08
@terrysahaidak функцией
Terry Sahaidak
@terrysahaidak
Mar 03 2016 12:09
в мене було функцією, але шото воно час від часу просто не пахало
Illia Seheda
@ALF-er
Mar 03 2016 12:09
зачем такое делать?
хотя нет... я не хочу знать
сделай геттер
Terry Sahaidak
@terrysahaidak
Mar 03 2016 12:13

в мене є

<Container>
  <MessagesList />
  <Input />
</Container>

і от треба прокидати з Меседжів текст в інпут, при тому на ньому треба зробити focus(), шоб появилась клавіатура
стейт інпута я і так тримаю в Container, всі методи теж, то нафіга мені городити кучу cWRP, якшо можна просто прокинути реф?

поки в мене ось так

  componentWillReceiveProps(nextProps) {
    const {focus} = nextProps
    if (focus) {
      this.refs.textInput.focus()
    } else {
      this.refs.textInput.blur()
    }
  }

але треба ше брати до уваги юзкейс, коли юзер нажав андроїдівську кнопку назад, ше один лістенер тої кнопки якось не хочу робити, а прокидати якимось фігом вище в навігатор і там шось робити вобше не варіант

Terry Sahaidak
@terrysahaidak
Mar 03 2016 12:45
чорт! знову забув, шо з ref можна викликати будь-який метод, то ж таки ссилка на інстанс
короч, ось відповідь на моє запитання:
class App extends React.Component {
  componentDidMount() {
    console.log(this.refs.inner)
    this.refs.inner.focus()
  }
  render() {
    return  <Inner ref='inner'/>
  }
}

class Inner extends React.Component {
  constructor(props) {
    super(props)
    this.focus = this.focus.bind(this)
    this.blur = this.blur.bind(this)
  }  
  focus() {
    this.refs.input.focus()
  }
  blur() {
    this.refs.input.blur()
  }
  render() {
    return <input ref='input' />
  }
}
Nikita Gusakov
@nkt
Mar 03 2016 12:52
Подскажите, может ли у компонента вызваться конструктор, но не вызваться componentDidMount?
Kirill Yakovenko
@blia
Mar 03 2016 12:53
на сервере
Nikita Gusakov
@nkt
Mar 03 2016 12:53
а в браузере?
Alexey Raspopov
@alexeyraspopov
Mar 03 2016 12:53
@terrysahaidak а не лучше будет юзать какой-то prop который будет вызывать фокус у инпута?
причем без refs
об этом на reactjs conf чувак из Netflix как раз говорил, с таким же примером
Terry Sahaidak
@terrysahaidak
Mar 03 2016 12:54

@alexeyraspopov в мене так зараз є, в принципі
але не зовсім розумію навіщо
більше коду -- менше толку

можна ссилку на відео?

Kirill Yakovenko
@blia
Mar 03 2016 12:55
@nkt теоретически может. Но я не проверял.
Terry Sahaidak
@terrysahaidak
Mar 03 2016 12:55
@alexeyraspopov дякую, зараз подивлюся)
Nikita Gusakov
@nkt
Mar 03 2016 12:56
@blia просто на одном проекте заметил такое. Я вот думаю, утечек не может из-за этого быть?
Kirill Yakovenko
@blia
Mar 03 2016 13:01
ну это странно
Serg Kondrashov
@SergDi
Mar 03 2016 16:25
@artyomtrityak а у тебя сегодня днюха? поздравлям!!!
Artyom Trityak
@artyomtrityak
Mar 03 2016 16:31
@SergDi спасибо)
Glebcha
@glebcha
Mar 03 2016 17:04
@artyomtrityak с днюхой, реактан ^_^
коданы, столкнулся с фичей - есть несколько компонентов (гриды) и события keydown срабатывают только на нижнем по-умолчанию пока не клинешь нужный
можно ли как-то принудительно ставить фокус на определенный компонент?
Nikolay Kostyurin
@JiLiZART
Mar 03 2016 17:40
о дивный мир реакта, спустя 4 часа я всетаки смогу собрать хоть что то
Ilya Pomaskin
@IlyaPomaskin
Mar 03 2016 17:45
свой пердак по частям? yoba.jpg
Illia Seheda
@ALF-er
Mar 03 2016 21:31
Aditya Punjani - Building a Progressive Web App Доклад о http://www.flipkart.com/ Это что-то типа Амазона только в Индии (самый популярный сайт в Индии вроде). Какони ускоряли свой мобильный сайт, придумали сначала грузить пребилдженные хтмлки с оптимистик-апдейт заглушками, приделали Service Worker'ы для кешей, gpu ускорение, потом как они приделали manifest.json (сайт превратился в почти приложение) и как они прикрутили нотификейшн-пуши. И долго танцевали танец счастья. Слушать чувака почти невозможно с его акцентом, но доклад хорош в познавательных целях о том какие есть неплохие идеи для улучшения сайта на мобилках
(сегодня больше не будет, мне завтра рано вставать)