Pursuit of Happiness
connect(mapStateToProps,mapDispatchToProps)
Владислав
Похер как писать
Pursuit of Happiness
Вот именно,но лучше писать как все )
Данил
Лол. Буду знать. Когда я учился редакс я именно что писал matchDispatchToProps. В курсе парень говорил писать именно так)
Владислав
Негласное правило
Kalebra
мэтчДиспэтчТуПропс) звучит борзо)
Kalebra
Max
спасибо
Kalebra
=) рад помочь
Kalebra
кто на каком уроке народ?
Denys
80
Владислав
Ни на каком)
Kalebra
Ни на каком)
всё прошёл? я на 85, финишная прямая скоро. стану тру самураем)
Владислав
Нет
Kalebra
кто знает как можно отправить в браузере запрос PUT? или только GET можно?
Denys
Может POST?
Anonymous
Здравствуйте. Меня зовут Ирина (Ира). Я занимаюсь креативами для запуска рекламы в Фейсбук.
Я предлагаю сделать для вас конвертящие креативы для рекламы в ФБ.
Креативы проходят модерацию и хорошо конвертятся. У меня большой опыт, навыки и программы.
Пишите мне свои задумки и я реализую. Я на связи.
Офер, ГЕО, Язык.
Перейдите для отправки сообщения: @LIPGX4
Владислав
Kalebra
да видимо лимит бесплатной подписки исчерпался
Kalebra
завтра куплю за 240р
Kalebra
а вообще это мотивирует научится писать своё хотя бы простенькое апи
Kalebra
я знаю что это можно через постман сделать. put запрос. а может можно както в браузере
Kalebra
Kalebra
Димыч написал через пут
Kalebra
а вообще есть способ обойти платную подписку но этим заниматься не буду. Димыча надо поддержать. такое дело делает уххх=)
Anonymous
Ребят написал SPA,сам веб пак настроил...в dev режиме все работает,а в билде только шапка отображается...это может быть из за Switch роутеров? кто-нибудь сталкивался?
Kalebra
Kalebra
вау какой 101 урок интригующий, уже хочу посмотреть)
акионка.
😂
акионка.
Ну так у Димы ребенок есть, может ошибся плейлистом)
Kalebra
тайна раскрыта. спасибо мистер Холмс=)
Владислав
)
Artem
для тех у кого пригорело после просмотра всех 100 выпусков😁
Artem
В данных роликах, когда работаем с сервером, Дима юзает async/await?
Artem
да
акионка.
southyyy
Ребят добрый вечер, подскажите как передавать props в классовую компоненту, в функциональной то понятно, ну типа ты там указываешь атрибуты когда ее отрисовываешь и в самой компоненте пишешь, что принимает она пропсы, а как в классовой показать, что она принимает пропсы
Arthur
this.props
Arthur
Точно также, как и в функциональную
southyyy
и еще вопрос
southyyy
у функциональных компонент можно создать локальный стейт?
southyyy
и если да, то можно линк на то как это сделать
Anatoly
Anatoly
https://learn-reactjs.ru/core/hooks/topics
Anatoly
Почитай про хук useState
southyyy
на самом деле, я почитал и не очень хорошо понял, как он работает
southyyy
у меян проблема в том, что мне надо создать локальную переменную isOpenFullInfo булевого типа, где если она тру, то отрисовывается фуллинфо копонента если false то ничего не рисуется а меняется при клике на кнопку
Arthur
Почему не стейт переменная?
southyyy
а я могу ее в этой же комоненте объявить?
southyyy
у меня функциональная компонента
Антон
я такие штуки объявляю в контейнерной компоненте, а потом объектом прокидываю в функциональную. Если "проброс" идет еще ниже, завожу уже значение в глобальном стейте.
Антон
как пример
Arthur
Ну setState можешь заюзать, не ищи теорию, ищи примеры.
southyyy
нет ну я понял как работает вся тема, я просто не понял как на клик поменять саму перменную
southyyy
southyyy
получается у меня useState(false)
southyyy
и при нажатии на кнопку onClick()
southyyy
что мне там написать?
Антон
import React, {useState} from "react";
import {connect} from "react-redux";
import DocumentPreview from "./DocumentPreview.jsx";
import {bindActionCreators} from "redux";
import * as documentsActions from "../../actions/DocumentsActions";
import PropTypes from "prop-types";
import DocumentEditModalContainer from "./DocumentEditModal/DocumentEditModalContainer.jsx";
const DocumentPreviewContainer = (props) => {
const [documentDialogVisible, setDocumentDialogVisible] = useState(false);
const [documentEditMode, setDocumentEditMode] = useState(false);
const handleEditDocumentClick = () => {
setDocumentEditMode(true);
};
const handleEditDocumentClose = () => {
setDocumentEditMode(false);
};
const handleDocumentDialogClick = () => {
setDocumentDialogVisible(!documentDialogVisible);
};
const handleRemove = () => {
alert("Oh my God you've killed Kenny, bustard!!!!")
handleDocumentDialogClick();
};
const localVariables = {
documentDialogVisible,
documentEditMode
};
const localCallbacks = {
handleDocumentDialogClick,
handleRemove,
handleEditDocumentClick,
handleEditDocumentClose
};
return (
<>
<DocumentPreview
document={props.document}
localVariables={localVariables}
localCallbacks={localCallbacks}
/>
{documentEditMode && <DocumentEditModalContainer
document={props.document}
localCallbacks={localCallbacks}
localVariables={localVariables}
/>}
</>
)
};
const mapStateToProps = (state) => {
return ({});
};
const mapDispatchToProps = (dispatch) => {
return ({
orderActions: bindActionCreators(documentsActions, dispatch),
});
};
DocumentPreviewContainer.propTypes = {
document: PropTypes.obj,
};
export default connect(mapStateToProps, mapDispatchToProps)(DocumentPreviewContainer);
Антон
тут примерно то же самое при клике меняется локальный стейт на показать модальное окно и потом его отрисовываю
southyyy
все, я разобрался, от души!
Антон
вот это в функциональной, ниже пошла разметка, PropTypes Validation и учзщке
Антон
const DocumentPreview = (props) => {
const document = props.document;
const { handleDocumentDialogClick, handleRemove, handleEditDocumentClick} = props.localCallbacks;
const {documentDialogVisible} = props.localVariables;
const {name, name_doc, number, patronymic, serial, surname} = document;
return (
Антон
export
southyyy
import React, {useState} from "react";
import {connect} from "react-redux";
import DocumentPreview from "./DocumentPreview.jsx";
import {bindActionCreators} from "redux";
import * as documentsActions from "../../actions/DocumentsActions";
import PropTypes from "prop-types";
import DocumentEditModalContainer from "./DocumentEditModal/DocumentEditModalContainer.jsx";
const DocumentPreviewContainer = (props) => {
const [documentDialogVisible, setDocumentDialogVisible] = useState(false);
const [documentEditMode, setDocumentEditMode] = useState(false);
const handleEditDocumentClick = () => {
setDocumentEditMode(true);
};
const handleEditDocumentClose = () => {
setDocumentEditMode(false);
};
const handleDocumentDialogClick = () => {
setDocumentDialogVisible(!documentDialogVisible);
};
const handleRemove = () => {
alert("Oh my God you've killed Kenny, bustard!!!!")
handleDocumentDialogClick();
};
const localVariables = {
documentDialogVisible,
documentEditMode
};
const localCallbacks = {
handleDocumentDialogClick,
handleRemove,
handleEditDocumentClick,
handleEditDocumentClose
};
return (
<>
<DocumentPreview
document={props.document}
localVariables={localVariables}
localCallbacks={localCallbacks}
/>
{documentEditMode && <DocumentEditModalContainer
document={props.document}
localCallbacks={localCallbacks}
localVariables={localVariables}
/>}
</>
)
};
const mapStateToProps = (state) => {
return ({});
};
const mapDispatchToProps = (dispatch) => {
return ({
orderActions: bindActionCreators(documentsActions, dispatch),
});
};
DocumentPreviewContainer.propTypes = {
document: PropTypes.obj,
};
export default connect(mapStateToProps, mapDispatchToProps)(DocumentPreviewContainer);
но вот это у тебя контейнерная да получается ?
Антон
Антон
функциональная только рисует и колбеки вызывает
southyyy
а как понять, что хук вызван не на верхнем уровне
southyyy
?
Антон
например, ты сделал функцию и внутри использовал useEffect
jeka
Ivan
Я тут кр4 пока уроков нет тудолист замутил
Ivan
Чекните
Ivan
https://gercog52.github.io/react-Todos/