Alex
const A = () => 'hello'; A.B = () => 'world'; ... <A.B />
Tuum Daemonia
Лучше так не делать
почему? Я создаю свои инпуты по логике они могут принадлежать лишь моему компоненту формы
Sergey
Попробуй перепроектировать так, чтобы такой хак не понадобился
SkyWalker ✙
Добрый день, у меян проблема с ключами, подскажите, что не так? const ExpPanels = ({ handleExpansionChange, activePanel }) => { return ( <Fragment> {expTitles.map(({ value, title }) => ( <Fragment> <Pnls key={value} panelClick={handleExpansionChange(value)} title={title} /> <PanelsContent activeTxt={activePanel} activeId={value} /> </Fragment> ))} </Fragment> ); }; export default withExpPanels(ExpPanels);Ошибка: Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of ExpPanels. See https://fb.me/react-warning-keys for more information. in Fragment (at ExpPanels.js:15) in ExpPanels (at withExpPanels.js:18) in EnhancedComponent (at Content.js:15) in Content (at App.js:28) in div (created by Context.Consumer) in StyledComponent (created by styled.div) in styled.div (at Tabs.js:19) in Tabs (at App.js:16) in App (at src/index.js:19) in Provider (at src/index.js:18)
SkyWalker ✙
На Fragment надо ключ вешать
Благодарю, добрый человек я как-то не обратил внимания, на то, что фрагмент тоже итерируемый
SkyWalker ✙
Здравствуйте, у меня следующая ситуация и я абсолютно не понимаю в чем проблема, с учетом того, что мне даже ссылка предоставляется в ошибке. Делаю абсолютно простое приложение на реакте, пишу тоже самое и оно работает, а здесь выдает ошибку... import React from "react"; import ReactDOM from "react-dom"; import "./index.css"; import App from "components/Tabs/App"; import * as serviceWorker from "./serviceWorker"; import { createStore } from "redux"; import { Provider } from "react-redux"; const initialState = { label:"superStar"}; const reducer = (state = initialState) => { return { label: state }; }; const store = createStore(reducer); ReactDOM.render( <Provider store={store}> <App /> </Provider>, document.getElementById("root") ); // If you want your app to work offline and load faster, you can change // unregister() to register() below. Note this comes with some pitfalls. // Learn more about service workers: http://bit.ly/CRA-PWA serviceWorker.unregister();Компонент, в котором хочу принять значение из стора: import React from "react"; import { connect } from "react-redux"; const ChangeColor = () => { return <button>super</button>; }; const MapToStateProps = state => ({ label: state.label }); export default connect(MapToStateProps)(ChangeColor);Error: The above error occurred in the <ConnectFunction> component: in ConnectFunction (at Content.js:22) in Content (at App.js:28) in div (created by Context.Consumer) in StyledComponent (created by styled.div) in styled.div (at Tabs.js:19) in Tabs (at App.js:16) in App (at src/index.js:19) in Provider (at src/index.js:18) Consider adding an error boundary to your tree to customize error handling behavior. Visit https://fb.me/react-error-boundaries to learn more about error boundaries. index.js:1446 TypeError: Object(...) is not a function[Learn More]
🎉
Куда в приложении можно пхнуть минималистический конфиг? Например урл с апишкой, в index.js норм?
🎉
А, понял, спасибо.
Лёва 🎃
Здравствуйте, у меня следующая ситуация и я абсолютно не понимаю в чем проблема, с учетом того, что мне даже ссылка предоставляется в ошибке. Делаю абсолютно простое приложение на реакте, пишу тоже самое и оно работает, а здесь выдает ошибку... import React from "react"; import ReactDOM from "react-dom"; import "./index.css"; import App from "components/Tabs/App"; import * as serviceWorker from "./serviceWorker"; import { createStore } from "redux"; import { Provider } from "react-redux"; const initialState = { label:"superStar"}; const reducer = (state = initialState) => { return { label: state }; }; const store = createStore(reducer); ReactDOM.render( <Provider store={store}> <App /> </Provider>, document.getElementById("root") ); // If you want your app to work offline and load faster, you can change // unregister() to register() below. Note this comes with some pitfalls. // Learn more about service workers: http://bit.ly/CRA-PWA serviceWorker.unregister();Компонент, в котором хочу принять значение из стора: import React from "react"; import { connect } from "react-redux"; const ChangeColor = () => { return <button>super</button>; }; const MapToStateProps = state => ({ label: state.label }); export default connect(MapToStateProps)(ChangeColor);Error: The above error occurred in the <ConnectFunction> component: in ConnectFunction (at Content.js:22) in Content (at App.js:28) in div (created by Context.Consumer) in StyledComponent (created by styled.div) in styled.div (at Tabs.js:19) in Tabs (at App.js:16) in App (at src/index.js:19) in Provider (at src/index.js:18) Consider adding an error boundary to your tree to customize error handling behavior. Visit https://fb.me/react-error-boundaries to learn more about error boundaries. index.js:1446 TypeError: Object(...) is not a function[Learn More]
Для начала mapStateToProps с маленькой буквы
SkyWalker ✙
Для начала mapStateToProps с маленькой буквы
поменял, а еще есть мысли?
Roman
поменял, а еще есть мысли?
так ошибка-то есть? а то там пусто
SkyWalker ✙
ну я понимаю, что регистр не влияет
SkyWalker ✙
я ждал последующих выводов от атвора
Roman
ошибку напиши
Roman
The above error occurred in the <ConnectFunction> component: - above ничего нет
SkyWalker ✙
типа стор ничего не передает?
Evgeniy
Ребят вопрос по styled-components. Перехожу на 4 версию с 3. createGlobalStyle если я его вставлю в компонент который вызывается несколько раз в приложении к примеру (кнопка), по идее он будет дублироваться. Вызовет ли это проблемы?
SkyWalker ✙
Лёва 🎃
что это даст?
Реакт все функци с большой буквы - интерпретирует как компоненты (можешь вызывать такую функцию и у тебя будет React Element в результате), больше ничего в глаза не бросилось
Roman
если у тебя просто функция с большой буквы - ничего это не значит
Лёва 🎃
Я ловил тупо от вызова Функция() реакт элемент
Лёва 🎃
Точно не скажу, можешь попробовать)
Bogaciuc
Вопрос: Form Data переделывает все в String? Нет возможности сделать Int определенного key?
Denis
Подскажите, заменяет ли redux-persist localStorage/asyncStorage? Например, нужно ли мне добавлять токены в хранилище, если используется persist?
Denis
Да, это я знаю. То есть я могу не использовать getItem и setItem, а просто вытащить из стора, типа this.props.auth.accessToken?
Андрей
Подскажите, на сколько плох в render оборачивать property в proxy ? дело в том что мне нужно изменить поведение обьекат котрый приходит в property не изменяя его, в конкретном одном компоененте
Андрей
плохо с точки зрения производительности
Kos
List не является компонентой
Андрей
const List = () => <div> {this.state.todos.map(({value, id}) => ( <li key={id}>{value}</li> )) } <div>
Андрей
как то так
localvoid
потомучто ты вставляешь компоненту, а не массив реакт нод. <ul>{List}</ul>
localvoid
const List = () => <div> {this.state.todos.map(({value, id}) => ( <li key={id}>{value}</li> )) } <div>
если при каждом ререндере создавать новый тип компоненты, то будет полностью пересоздаваться всё DOM поддерево для листа
Андрей
Как в формике описать функцию которая бы меняла true\false для чекбокса?
Андрей
Zhanadil
есть кнопнка активная "на модерации", при нажатии на "отгруженные товары" этот светло-серый цвет прошелся по остальным ссылкам и встал на "отгруженные товары". Как можно это реализовать?
artalar
@tr4dr смотрите описание чата
K
👌
K
восновном закреп всегда
Den
Ребят, кто может объяснить или кинуть какой-то пример того, как и зачем использовать jest, enzyme и самое главное - propTypes. Я читаю туториалы и все как один пишут, что когда код растет то становится тяжело найти ошибку и блаблабла. Но конкретно я не вкуриваю. Я понимаю так, что если у меня есть ошибка то ее всегда видно в консоле и можно исправить
і64
Ребят, кто может объяснить или кинуть какой-то пример того, как и зачем использовать jest, enzyme и самое главное - propTypes. Я читаю туториалы и все как один пишут, что когда код растет то становится тяжело найти ошибку и блаблабла. Но конкретно я не вкуриваю. Я понимаю так, что если у меня есть ошибка то ее всегда видно в консоле и можно исправить
Когда у тебя в консоли куча мусора (читай "дебаг месаджес"), становится трудно заметить. Плюс ко всему когда ты используешь чужой компонент (чаще всего ты будешь писать не один), ты не будешь знать что туда нужно передать за пропсы, а читать код каждый раз вломину.
Anonymous
Ух, не всегда в консоль ошибку светит)
Kirill
propTypes показывают какие типы пропсов ожидаются в компоненте. И если пропса ожидается к примеру стринга, а ты закинул число, то у теья в консоле об этом напишет
Kirill
Как уже писали выше, когда компонентов куча и не твоих это сильно облегчает жизнь
Kirill
А jest, enzyme юзают для тестирования кода, что бы ты четко знал что все работает по той логике как тебе нужно. Как их юзать, ну тут лучше всего открыть документацию, там все очень доходчиво.
Den
ясно, в общем как я понимаю, если проект пишет команда то лучше все это использовать, а если проект я пишу один то в принципе можно обойтись
Ulad🧑‍💻
ясно, в общем как я понимаю, если проект пишет команда то лучше все это использовать, а если проект я пишу один то в принципе можно обойтись
Лучше использовать или типизацию, или тесты на своём личном проекте (можно без этого, если вам, конечно, опыт позволяет)
Den
спасибо за фидбек всем
🎉
Если не ошибаюсь эта хрень жрёт много, поэтому для продакшн её вычищают. Вот говорят cra само это делает... а если сам вебпак собирал, то хз как.
Roman
а как если у меня роут мапится, дописать параметры в путь вроде path="/it.path/:it.name", это возможно? {routes.map(it=> <Route path={it.path} component={сomponent} /> )}
Roman
path={`${it.path}/:${it.name}`}
Балагодарю!
Gr
всем привет! несколько вопросов по google-maps 1. не совсем по теме реакта - отключить надпись 'for developers only' можно только путем добавления банковской карточки? 2. как сделать маркер из локального svg-файла? преобразовав svg в компонент или можно как-то напрямую?
Vladimir
только через привязку картой
🎉
Чото потыкался в тырнете, ничего не нашёл, вот это же депрекейтед document.location.reload(true);? Как в реакте такое проделывают?
Igor
export default props => {}
Igor
🤮
Vladimir
{…{ lat, lng }} 🥴
що таке?)
Igor
що таке?)
это же пздц)
Vladimir
причина
Igor
чтобы не писать lat={lat}?
Ivan
это рили пздц
Vladimir
да, но чем тебя не устроил export default ?
Vladimir
а как удобнее делать экспорт?
Akylbek
Они тебя троллят