const funcName = () = > dispatch => {
return dispatch({
type: NAME_TYPE,
payload: lol
});
}
Что значить dispatch в данном коде?
dispatch => {
return dispatch({
type: NAME_TYPE,
payload: lol
});
}
Почему мы его не передаем как аргумент в скобках?
const foo = (bar) => bar;
const foo = bar => bar;
const funcName = () = > ({
type: NAME_TYPE,
payload: lol,
});
const fs = require('fs');
fs.readdir('./folder', (err, files) => {
files.forEach(file => {
console.log(file);
});
})
My-Widget__item {
}
var elements = document.getElementsByClassName('my-class');
Array.prototype.forEach.call(elements, function(element) {
emement.addEventListener('click', function(e) { /* ... */ });
});
var elements = document.getElementsByClassName('my-class');
for (var i = 0; i < emements.length; i++) {
elements[i].addEventListener('click', function(e) { /* ... */ });
}
const elements = document.getElementsByClassName('my-class');
for (let element of elements) {
emement.addEventListener('click', e => { /* ... */ });
}
function getPageIndexes(size, limit) {
var start = 0;
while(true) {
if (start >= size) break;
var end = Math.min(size, start + limit);
console.log(start, end);
start += limit;
}
}
Работа скатывается в галеру,
Нигде не требуется писать самому: нужно переиначить готовые решения с гитхаба. Копаться в чужом коде - удовольствие ниже среднего, учитывая то, какую документацию многие пишут. Приходится копаться подолгу, тюнить параметры, додумывать. На это уходит поразительно много времени, на код уже после рабочего дня смотреть не хочется;
самообразование таким образом постепенно отметается.
Писать свои решения (я работаю в DS) - неоправданно долго, не думаю, что какой-то работодатель на это согласится.
Спрашивал у знакомых: пользоваться готовыми решениями - это норма для индустрии.
Как преодолеть такой кризис?
import * as React from 'react';
import styled from 'styled-components';
const Wrapper = styled.label`
position: relative;
display: inline-block;
width: 40px;
height: 24px;
`;
const Input: any = styled.input`
display: none;
`;
const Slider = styled.div`
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
transition: .2s;
border-radius: 34px;
&:before {
position: absolute;
content: "";
height: 22px;
width: 22px;
left: 1px;
bottom: 1px;
background-color: white;
transition: .2s;
border-radius: 50%;
}
${Input}:checked + & {
background-color: ${props => props.theme.someColor1};
}
${Input}:focus + & {
box-shadow: 0 0 1px ${props => props.theme.someColor2};
}
${Input}:checked + &:before {
transform: translateX(16px);
}
`;
interface Props = {
name?: string
checked?: boolean
onChange?: Function
innerRef?: Function
className?: string
}
const ToggleSwitch = ({ innerRef, checked, onChange, className, name }: Props) => {
return (
<Wrapper className={className}>
<Input
innerRef={innerRef}
checked={checked}
onChange={onChange}
name={name}
type="checkbox"
/>
<Slider />
</Wrapper>
);
}
componentDidMount() {
this.fetchData();
}
async fetchData() {
try {
const orders = await fetch('orders-path', options).then(response => response.json());
const users = {};
for (let i = 0; i <= orders.length; i++) {
const id = orders[i].user_id;
const user = await fetch('/user/' + id, options).then(response => response.json());
users[id] = user;
}
this.setState({ orders, users });
} catch (e) {
// handle error
}
}