Size: a a a

JavaScript.Ninja

2021 April 19

AI

Arthur Irgashev in JavaScript.Ninja
в итоге на каждый ререндер новый коллбек :)
источник

AI

Arthur Irgashev in JavaScript.Ninja
и, скорее всего, даже даунгрейд по перфу получаем
источник

AI

Arthur Irgashev in JavaScript.Ninja
в конечном итоге я скидывал один из вариантов, который убирал ре-рендеры кнопочек, который выглядел примерно вот так

const Buttons = memo(({increment, submit}) => [
 <button onClick={submit}>submit</button>,
 <button onClick={increment}>submit</button>
]);

function send(stateRef) {
 return axios.post('', { value: stateRef.current });
}


function Counter() {
 const [state, changeState] = useState(0);
 const stateRef = useRef();
 useEffect(() => {
   stateRef.current = state;
 }, [state])

 
 const increment = useCallback(() => changeState(value => value + 1), []);
 const submit = useCallback(() => send(stateRef).then(() => changeState(0)), []);

 return (
   <Fragment>
     <Buttons submit={submit} increment={increment} />
   </Fragment>
 )
}
источник

AI

Arthur Irgashev in JavaScript.Ninja
и мы вместе приходили к тому, что это здесь абсолютно не нужно
источник

AI

Arthur Irgashev in JavaScript.Ninja
я, в принципе, и не спрашивал бы такое, если бы в реальных проектах не напарывался на кучу багов из-за подобных "оптимизаций"
источник

AI

Arthur Irgashev in JavaScript.Ninja
абсолютли так )
источник

OJ

Oleg Junior in JavaScript.Ninja
чтобы написать простой Counter нужно посидеть, голову поломать. супер-либа конечно
источник

AI

Arthur Irgashev in JavaScript.Ninja
нет, не нужно. и либа действительно супер. я же написал, что вопрос "с подвохом"
источник

VK

Vladimir Klimov in JavaScript.Ninja
Ой-ой 🙈
Заоптимизировались по-полной😁
источник

OJ

Oleg Junior in JavaScript.Ninja
а они джуны были или опытные?
источник

AI

Arthur Irgashev in JavaScript.Ninja
я такое даже у миддлов почти не спрашивал :)
источник

AI

Arthur Irgashev in JavaScript.Ninja
в основном сеньёры и выше
источник

AI

Arthur Irgashev in JavaScript.Ninja
вру. выше не было :)
источник

OJ

Oleg Junior in JavaScript.Ninja
если честно не понимаю шутка или нет это
источник

AI

Arthur Irgashev in JavaScript.Ninja
нет, не шутка
источник

AI

Arthur Irgashev in JavaScript.Ninja
глупо было бы спрашивать у джунов понимание каких-то сложных и неочевидных вопросов, на которые многие  "сеньёры" не могут ответить
источник

OJ

Oleg Junior in JavaScript.Ninja
ну если не шутка. то что смотрит сеньор на код простого счетчика и не понимает что здесь не так. по вашему это нормально?
источник

AI

Arthur Irgashev in JavaScript.Ninja
это просто помимо знаний самой библиотеки показывает, умеет ли человек определять места, где действительно нужно что-то рефакторить, оптимизировать, умеет ли как-то анализировать ситуацию и делать не то, что говорят, а что считает правильным
источник

AI

Arthur Irgashev in JavaScript.Ninja
он-то может и понимает, но не всегда люди понимают, что решение проблемы находится на поверхности
источник

AI

Arthur Irgashev in JavaScript.Ninja
и, не подумав самостоятельно, начинают делать то, что им говорят. даже если говорят изначально с ошибкой
источник