Aiperi_NK
Я хотела спросить в продакшене какой метод API лучше использовать в react, например через Next js, Redux, Node и Docker, и др. Первый раз, поэтому хотела посоветоваться.
Aiperi_NK
Классно было бы если ссылки отправили, если есть🙏🏻
Eugene
Aiperi_NK
страницу
Aiperi_NK
Dima
У меня есть время с 12:34 до 14:30 и мне нужна разбить на объект. Сколько активных минут в определенном часе{
0:0,
1:0,
...,
12: 26,
13: 60,
14:30,
...
}
Nikolai
Andrei
доброе утро всем,
в чем может быть проблема при билде в прод?
Andrei
package.json
"build:production": "./node_modules/.bin/babel -d build packages/ --ignore **/__test__",
"dist:dev": "./node_modules/.bin/webpack --config conf/webpack.dev.conf.js",
"dist:min": "./node_modules/.bin/webpack --config conf/webpack.min.conf.js",
"dist:production": "./node_modules/.bin/webpack --config conf/webpack.prod.conf.js",
"build": "npm run build:production & npm run dist:production & npm run dist:min"
webpack.min.prod.js
require('babel-register');
const webpack = require('webpack');
const PATHS = require('../config').PATHS;
const entries = require('./webpack.util.js').default; // thank you babel 6
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports ={
mode: 'production',
entry: entries(),
output: {
path: PATHS.PROD.JS,
filename: '[name].min.js' // Template based on keys in entry above
},
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader'
}
]
},
optimization: {
minimizer: [
new UglifyJsPlugin({
sourceMap: true,
uglifyOptions: {
output: {comments: false},
warnings: false
}
}),
],
},
plugins: [ // Plugins for optimization
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.optimize.AggressiveMergingPlugin(),
new webpack.DefinePlugin({'process.env.NODE_ENV': '"production"'})
],
resolve: {
extensions: ['.js', '.jsx']
}
};
webpack.prod.conf.js
require('babel-register');
const PATHS = require('../config').PATHS;
const entries = require('./webpack.util.js').default;
module.exports ={
mode: 'production',
entry: entries(),
output: {
path: PATHS.PROD.JS,
filename: '[name].js' // Template based on keys in entry above
},
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader'
}
]
},
plugins: [],
resolve: {
extensions: ['.js', '.jsx']
}
};
Evgeny
package.json
"build:production": "./node_modules/.bin/babel -d build packages/ --ignore **/__test__",
"dist:dev": "./node_modules/.bin/webpack --config conf/webpack.dev.conf.js",
"dist:min": "./node_modules/.bin/webpack --config conf/webpack.min.conf.js",
"dist:production": "./node_modules/.bin/webpack --config conf/webpack.prod.conf.js",
"build": "npm run build:production & npm run dist:production & npm run dist:min"
webpack.min.prod.js
require('babel-register');
const webpack = require('webpack');
const PATHS = require('../config').PATHS;
const entries = require('./webpack.util.js').default; // thank you babel 6
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports ={
mode: 'production',
entry: entries(),
output: {
path: PATHS.PROD.JS,
filename: '[name].min.js' // Template based on keys in entry above
},
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader'
}
]
},
optimization: {
minimizer: [
new UglifyJsPlugin({
sourceMap: true,
uglifyOptions: {
output: {comments: false},
warnings: false
}
}),
],
},
plugins: [ // Plugins for optimization
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.optimize.AggressiveMergingPlugin(),
new webpack.DefinePlugin({'process.env.NODE_ENV': '"production"'})
],
resolve: {
extensions: ['.js', '.jsx']
}
};
webpack.prod.conf.js
require('babel-register');
const PATHS = require('../config').PATHS;
const entries = require('./webpack.util.js').default;
module.exports ={
mode: 'production',
entry: entries(),
output: {
path: PATHS.PROD.JS,
filename: '[name].js' // Template based on keys in entry above
},
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader'
}
]
},
plugins: [],
resolve: {
extensions: ['.js', '.jsx']
}
};
@webpack_ru
R
я правильно понимаю, что в react-dnd до сих пор нет кроссплатформенного бэкенда?
Valentin
R
Valentin
это было “да”?
👍
Есть другие библиотеки. Или пиши бакену сам. То ли днд бьюти и что то ещё было.
Вообще я сам страдал по этой теме. И хотел написать свой кросс днд, на хоках легковесный и понятным апи и кроссплатформенным... но не написал. (Мб попоже).
Да точно есть по соседству кроссплатформенный, но без поддержки тс. Кажется днд бьюти
vlad
всем привет, кто подскажет, как сделать чтобы на момент вызова аксиоса , в стейте уже была записана долгота и ширина?
Valentin
Valentin
vlad
а, точно, понял, спасибо
🦜
Сергей
пацыки, такой вопрос. Есть tree table и есть кнопка развернуть все, элементов может быть оч много. Как правильно это сделать, чтобы это не тупило при рендере?
🦜
Dmitry
Интерсепторы заюзать
Зачем? И ответ ему выше тоже ни о чем. Он просто хочет запрос с позицией сделать
Vlad
Gatsby - генератор статических веб-сайтов
Vlad
Берет твой код и стили и рендерит его в html + css + js
Dmitry
В виртуализации нужно сделать шарку и другие строки. Отследить апдейт высоты и ширины шапки можно? Что бы пересчитать стили?
Max
Ребята всем привет , только учу реакт столкнулся с следущей ошибкой: установил redux через npm создал файл store.js в нем import { createStore } from 'redux';
const store = createStore();
export default store;
Max
выдает ошибку Expected the reducer to be a function.
Сергей
Maksim
Сергей
createStore принимает в себя аргументы
dimitriy
Ребят, подскажите плиз, плохо использовать контекст для поднятия данных наверх ? Как пример - нужно пару методов компонента пробросить наверх через родителя.
Vadim
Anonymous
Подскажите плиз, перевел компонент класса на хуки, при загрузки страницы в компоненте контейнера в useeffect вызывается Фетч экшен редакса, срабатывает норм, но если я перехожу на другую страницу приложения и возвращаюсь назад то рендер срабатывает два раза, и дерганье получается на экране элементов, в компоненте класса все норм
dimitriy
ага, через функцию. Ну то есть это норм вариант для данного кейса?
Dmitry
dimitriy
Спасибо!
Bogdan
сталкивался кто? в едже, ie, работает , в хроме нет
🦜
откуда вы с такими мыслями вообще беретесь?
Sm•ok
Орнул))
N
чуваки помогите
N
🦜
Anonymous
Подскажите плиз, перевел компонент класса на хуки, при загрузки страницы в компоненте контейнера в useeffect вызывается Фетч экшен редакса, срабатывает норм, но если я перехожу на другую страницу приложения и возвращаюсь назад то рендер срабатывает два раза, и дерганье получается на экране элементов, в компоненте класса все норм
Екатерина
Подскажите браузерный ивент, типа когда ввела что-то в форму и пытаюсь перейти на другую страницу, а он говорит что изменения не сохранены
Если можно, ссылку на репо 🙏
Roman
🦜
Sm•ok
window on before unload?
Vladimir
dimitriy
Nikita
Часто вижу методы в реакте с андерскором, можешь подсказать для чего его добавляют в начало?
🦜
Anonymous
код на gist
https://gist.github.com/xyembeu/4e3fa90d8872caba97dc5c0e12e6b529
Anonymous
Nikita
Anonymous
Dmitry
посоны
кому не сложно
скинте скрин скролла в браузере хром на винде
Артем
https://gist.github.com/avkulikov/2b555d96cedc1912d097f356eb9e89e2
Доброго всем! Есть функциональный компонент, который рендерит подсказки по мере ввода в инпуты(к слову, value при изменении заносится в стор).
Фильтрует во время эффекта, который соответсвенно зависит от значений инпутов. Во время клика на каком-либо элементе селекта. По задумке, должен очищать массив отфильтрованных полей. Очищает, все круто. Но так же обновляет зависимые значения инпутов, что собственно правильно. Потому что значение зависимости изменилось.
Собственно вопрос: как при клике на выбранный элемент пропустить выполнение последующего эффекта, до того момента как не изменят значения инпута?
Артем
Пробовал переназначать значения другим переменным.. но суть не меняется
🦜
Anonymous
что значит нормально работало? Понятие размытое
Не надо было условие ставить, при повторной загрузке компонента как с чистого листа, без дерганий, а функциональный компонент сначала прорисовал старые данные, потом дернулся экран стерлись данные и подрузились новые
🦜
🦜
Артем
Типо если issuedBy || subdivisionCode >= 10 ? return () => {
setFilteredSuggestions( [] )
} ?
🦜
Anonymous
Артем
🦜