export default function product(state = initialState, action) {
switch(action.type) {
case FETCH_PRODUCT_BY_SLUG:
return {
...state,
isFetching: true,
error: null,
};
case FETCH_PRODUCT_BY_SLUG_SUCCEEDED:
return {
...state,
product: action.payload,
isFetching: false,
error: null,
};
case FETCH_PRODUCT_BY_SLUG_FAILED:
return {
...state,
isFetching: false,
error: action.payload,
};
default:
return state;
}
}
handler = () => {
const { isFetching } = this.props;
if (isFetching) return;
// ...
};
<Button isProcessing={isFetching} title="Submit"/>
Сами посмотрите. Все глобальные веб-проекты, которые есть, реализованы с помощью серверной части.
Я написал о том, что на СЕРВЕРНОЙ ЧАСТИ можно написать все то, что пишется на frontend'e
с помощью серверных языков. Таких как phyton, node.js, PHP
this.props.history.push('/');
export default selector => document.querySelector(selector);
const Example = () => {
const [isActive, setIsActive] = useState(false);
const handleClick = () => {
setActive(!isActive);
};
return (
<div>
<div className={isActive ? 'active' : ''}>Example</div>
<button onClick={handleClick}>Toggle active</button>
</div>
);
}
const { a, b, c, d } = this.state;
<input name="a" value={a} onChange={handler}>
handler = e => {
const { name, value } = e.target;
this.setState({ [name]: value });
};
handleSubmit = () => {
const { a, b } = this.state;
const c = a * b;
postData({ c });
};
chown попробуйте выполнить для дериктории проекта.
Пакеты проекта переустанавливайте без sudo