• Как правильно в es6 компоненте задать initial state?

    devellopah
    @devellopah
    если нет методов, которые нужно привязать в конструкторе, то можно и так

    class MyComponent extends React.Component {
    
      static propTypes = {}
    
      static defaultProps = {}
    
      state = { number: 0 }
    
      componentDidMount() {}
    
      method1() {}
    
      // et cetera
    }
    Ответ написан
    Комментировать
  • Почему родительский метод вызывается сам по себе?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    В onClick нужно передавать функцию-обработчик, а вы передаете функция-обработчик() === результат вашей функции...
    То есть как только кнопка оказывается на странице, сразу же происходит вызов (круглые скобки).

    Пример:
    function myFunc(data) { console.log(data) }
    console.log( myFunc('test') ) => выведеть в консоль 'test'
    console.log( myFunc ) => выведеть в консоль function myFunc ...


    P.S. естественно, сразу возникает вопрос - как передать функцию + аргумент... Вам нужен либо метод bind, либо анонимная функция... Есть у разных подходов плюсы-минусы, но я тем не менее люблю использовать data-аттрибуты для этого.. тогда при передаче функции обработчик, у меня в event.target.dataset - есть все что нужно.

    P.P.S. когда возникают такие вопросы, значит нужно идти и копать основы, так как в дальнейшем только сильнее будет усиливаться непонимание между функциями, аргументами, полями свойств в props'ax и так далее... Начать по теории, рекомендую отсюда: https://learn.javascript.ru/function-basics, затем: https://learn.javascript.ru/introduction-browser-events
    Ответ написан
    1 комментарий
  • Как и где рендерятся элементы? когда создаються обьекты?

    AppFA
    @AppFA
    Frontend developer at Yandex
    Ну там ведь все транспилится в React.createElement(Section, { ...props }), и уже внутри VirtualDom'a он проходит по всем этим элементам и создает их инстансы. Где Section - ваш класс
    Ответ написан
    5 комментариев
  • Почему некоторые методы написаны не в прототипе функции конструктора, а в самой этой функции?

    Stalker_RED
    @Stalker_RED
    Потому, что когда составляли список зарезервированных слов и свойств, не забили место для values. И сейчас существует большое количество кода, где values уже используется под какие-то другие нужды.
    Ответ написан
    Комментировать
  • Почему document.onload не выполняется?

    Stalker_RED
    @Stalker_RED
    document.onload срабатывает когда DOM загружен.
    window.onload срабатывает когда DOM, картинки и стили загружены. Типа. Потому что есть разница в браузерах.

    Если хотите выполнить скрипт после загрузки всего контента лучше использовать DOMContentLoaded

    document.addEventListener('DOMContentLoaded', function(){
        // ... code here
    })
    Ответ написан
    8 комментариев
  • Какой необходимый уровень знаний для junior React.js Разработчика?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    UPDATE: реальные тестовые задания и разборы здесь, ответы на все вопросы из поста в моем блоге об обучении react.

    не включая основы js

    Извините, но стандартная задача, про "напишите функуцию add, которая при вызове add(1)(2) вернет 3" - многих положила на лопатки =) Поэтому будьте готовы..

    React
    0) Какую проблему решает react ?
    1) Мгновенно ли срабатывает setState? Если нет, то как выполнить код, который 100% выполнится после того, как новый state будет установлен?
    2) Зачем многие постоянно пишут в constructor: this.FUNCTION_NAME = this.FUNCTION_NAME.bind(this) и отсюда вопрос вытекает чему равно this в разных местах вашего компонента...
    3) в каких методах жизненого цикла стоит выполнять xhr запросы? В каких стоит "обновлять state на основе props"?
    4) Что будет если вызвать this.setState в render методе компонента?
    5) зачем нужен componenWIllUnmount, приведите пример..
    6) Контролируемые, не контролируемые компоненты
    7) Как организовать роутинг в реакт приложении? (ответ: взять react-router - подходит, но было бы круто, если бы вы рассказали, как он примерно работает)*
    8) Зачем нужны propTypes? Что происходит с ними в production сборке?
    9) Как можно удобно "отлаживать" чужой код приложения, написанного на react (намек в сторону React devtools)
    ...

    Redux
    0) Какую проблему решает redux?
    1) Зачем многие создают типы действий NAME_REQUEST / NAME_SUCCESS ? А заодно, что такое "действие", а что такое "создатель действия"...
    2) Что такое редьюсер? Можете написать простой редьюсер без react/redux?*
    3) Для чего нужен redux-thunk? Как он работает? Напишите (можно псевдокод) асинхронный создатель действия (либо, если надоело говорить "терминами" - асинхронный aciton)
    4) Как компоненты приложения получают "пропсы" из "стора"?*
    5) Можно ли (и считается ли это нормальным) использовать state, если используется Redux?
    6) Почему в reducer'ax мы возвращаем новые объекты? Приведите пример, когда вы возвращаете новый объект, а когда тот же самый.
    6.5) А так же, "как в js вообще это работает?". Например:
    let obj1 { name: 'Test', age: 100 }
    let obj2 = obj1
    obj2.name = 'Test_new'

    Что будет в obj1, почему? В каких случаях объекты могут быть равны?
    7) Что возвращает функция connect (из react-redux)?
    ...

    Общее:
    0) package.json
    1) Webpack, gulp, etc...
    2) node.js
    3) promise

    Что-нибудь практическое:
    1) Как бы вы валидировали форму, если ошибки валидации приходят после submit'a ее на сервер..
    2) Почему не работает следующий код, сделайте чтобы работало
    ...
    На истину не претендую, но такие вопросы имели место быть на собеседованиях. В беседе можно многое разузнать дополнительными вопросами и так далее. Так же, если часть вопросов вам неизвестна - не беда, многие и на половину ответить не могут.

    p.s. возможно дополню...
    p.p.s. звездочкой отметил, на мой взгляд не самые необходимые для junior-собеседования вопросы.
    Ответ написан
    31 комментарий
  • Как подкючить m.2 ssd к ноутбуку?

    Jump
    @Jump Куратор тега Твердотельные накопители
    Системный администратор со стажем.
    Как подкючить m.2 ssd к ноутбуку?
    мне нужна скорость более 550 МБ/C
    Поменять ноутбук.
    У ноутбука как минимум должен быть разъем m2, и самое главное поддержка NVMe.
    При соблюдении этих условий можно достичь указанных вами скоростей.
    Теоретически.
    Если рассуждать практически - совершенно непонятно зачем такой скоростной SSD если работать он все равно будет гораздо медленнней?
    Ответ написан
    Комментировать
  • Есть ли смысл изучать Reac, Angular без хорошего знания JS?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Если иначе познавать JS не получается (нет мотивации, нет денег, и тд) - смысл есть.
    Всегда правильно советуют: учим основы, разбираемся во фреймворке, пишем хороший код.

    Но на практике бывает иначе. Поэтому, если можете пройти туториал на любом из сайтов (реакта/ангуляра) - пытайтесь сделать что-то посложнее. Рано или поздно понимание того, что азы нужно подтягивать придет, но при этом уже будет сколько-то монет в кармане + не потеряется мотивация программировать.

    P.S. да, это вредный совет.
    Ответ написан
    Комментировать
  • Мотивация для разработчика. Как мотивировать себя/команду работать продуктивно?

    alexpic
    @alexpic
    Разработчика мотивируют задачи с уровнем сложности на пределе текущей компетенции
    Ответ написан
    Комментировать
  • Мотивация для разработчика. Как мотивировать себя/команду работать продуктивно?

    @magary4
    ну я например для себя не совсе понимаю смысл работать плохо. если уже сижу на работе, то страдать фигней как-то не умно для себя. если у меня контракт на 40 часов в неделю и я их по любому провожу в офисе, то уж лучше работать, делать что-то полезное развивая себя этим. ибо будет личносный рост
    если я не сижу в офисе - то я пью пиво и катаюсь на мотоцикле
    зачем мне дохнукть на работе и после работы проводя время в фейсбуке я вообще не знаю

    если человек не хочет работать - то зачем насиловать свой мозг? благо в ИТ зп хорошие, увольтесь и занимайтесь чем хотите интересным пока деньги не закончаться

    ну а если интересов нет то ..... тогда не знаю
    Ответ написан
    Комментировать
  • Мотивация для разработчика. Как мотивировать себя/команду работать продуктивно?

    Мотивация - ничто. У нее очень маленький ресурс, ее одной недостаточно. Многие не делают даже то, чего, в общем-то, хотят, потому что им лень, или плохое настроение. Вопрос в дисциплине, когда человек делает то, что ему нужно делать, в любом случае, по расписанию.

    Специалист, который дисциплинированно, как штык, работает (возможно даже по какой-либо технике вроде помодоро, с перерывами), никогда не почувствует проблем с мотивацией, ибо он четко осознает, что мотивация имеет лишь вторичное значение.

    Ищите способы поднять дисциплину в коллективе, подавайте личный пример. Правило 5% - если 5% будут работать дисциплинированно, остальные могут втянуться. И в общем-то масса способов. К работе нужно относиться в первую очередь как к работе, а не к развлечению с интересными задачами.

    P.S. В общем-то, если пооффтопить, неверная трактовка мотивации и вне работы \ программирования приводит к фейлам при попытке сесть на диету или подкачаться к лету.
    Ответ написан
    9 комментариев
  • "localstorage" или cookie?

    Apathetic
    @Apathetic
    Frontend
    На самом деле всё просто. Куки - для сервера, локалсторадж - для клиента. Если информация, которую вы собираетесь хранить, нужна только на клиенте - нет никакого смысла в том, чтобы гонять куки туда-сюда при каждом запросе к серверу. Если какая-то информация нужна постоянно серверу - используйте куки.
    Кроме того, а куки 4кб выделяется, на localStorage - 5 мб.
    Подводных камней нет никаких, если нет необходимости поддерживать старые ие - используйте смело. caniuse.com/#search=localstorage

    Что касается отключения: пользователь может превентивно запретить использование localStorage. На практике с таким не сталкивался, думаю, что целенаправленно этим занимаются еще реже, чем отключением cookies.
    Ответ написан
    5 комментариев