@react_js

Страница 1058 из 5115
ainu
14.03.2017
06:44:51
то выше всего приложения надо делать проверку. Если авторизован - показываем роутер, внутри код и так далее. Если нет - показываем форму авторизации

тут вопрос закрыто авторизацией всё приложение или одна страница

Игорь
14.03.2017
06:46:31
одна страница. Просто история с конейнером, OnEnter кажется не надежной. Может это просто шиза хз

anoru
14.03.2017
06:46:36
Аж представил такую проверку в каждом компоненте =)

Google
ainu
14.03.2017
06:52:08
Смотрите. Если авторизация в сторе, и роутер тоже в сторе

можно в редьюсере авторизации делать редирект роутера

А, фигню сказал извините

Если страница одна то обертку уж.

Через неё гарантировано мимо не пройдёт. А onEnter сейчас документацию посмотрю самому интересно

https://github.com/joshgeller/react-redux-jwt-auth-example/blob/master/src/components/AuthenticatedComponent.js

Пример с оберткой

В 4-м роутере почему то нет onEnter в документации ну или я не нашёл.

В документации без Onenter пример кода авторизации https://reacttraining.com/react-router/web/example/auth-workflow

const PrivateRoute = ({ component, ...rest }) => ( <Route {...rest} render={props => ( fakeAuth.isAuthenticated ? ( React.createElement(component, props) ) : ( <Redirect to={{ pathname: '/login', state: { from: props.location } }}/> ) )}/> )

Судя по всему, рекомендуемое все таки декоратор, тем более для одной страницы. Что с ситуацией с onEnter в четверке - непонятно.

Ches
14.03.2017
07:33:20
народ подскажите в какую сторону думать если делаем post запросы через axios к апи, с локалхоста ошибка 405 options, methood not allowed, с сервера где все вместе и api и приложение все работает как нужно

return axios.post(${API}/site/login, {phone, password}).then

Google
Ches
14.03.2017
07:39:03
Cookies || http headers
а это на стороне фронта вообще?

Vladimir
14.03.2017
07:48:21
Ches
14.03.2017
07:53:06
так как мне понять что делать?

Khangeldy
14.03.2017
07:53:50
Кто сталкивался с таким. В redux-form-5.3 action initialize стерает nested object(clients.title, client.phone) после того как из сервера приходить ошибка валидаций. И при фокусе на любой input

Серверная валидация + фокус на инпут = поля client.title && client.phone стираються

Alex
14.03.2017
08:11:49
Всем привет. Подскажите пожалуйтса как передать в роуты сокет. Ps недавно начал юзать реакт)



Brs
14.03.2017
08:24:11
Можно сокет положить в контекст например

Alex
14.03.2017
08:25:18
вообще как лучше сделать чтобы был доступен сокет со всего приложения, использую еще redux

?

Denis
14.03.2017
08:25:41
Лучше его использовать как middleware

Которое генерит actions

Brs
14.03.2017
08:28:01
++

Lupsick
14.03.2017
08:28:19
+

Из сокета приходят данные и уходят в стор

Arsen
14.03.2017
08:40:16
Которое генерит actions
https://exec64.co.uk/blog/websockets_with_redux/ ты о чём то что типо этого?

Denis
14.03.2017
08:44:40
Мне вот интересно, а как правильно авторизацию надежную организовать на сокеты?

マイク
14.03.2017
08:47:51
Куки?

Вебсокеты это же HTTP

Google
Sergey
14.03.2017
08:49:06
Mark
14.03.2017
08:49:10
Куки?
Это аутентификация, а не авторизация

マイク
14.03.2017
08:49:45
Ноуп
Шок, а что же это

Mark
14.03.2017
08:50:01
Мне вот интересно, а как правильно авторизацию надежную организовать на сокеты?
Можно во время Upgrade делать проверку. Например npm пакет ws, имеет callback verifyClient для этого

マイク
14.03.2017
08:50:14
Это аутентификация, а не авторизация
Авторизуй по ней перед тем как свитчить протоколы

Sergey
14.03.2017
08:50:28
Шок, а что же это
Магия. Хех. Почитай)

マイク
14.03.2017
08:51:04
Я боюсь почти наизусть знаю всю спеку, спасибо

Mark
14.03.2017
08:51:17


Denis
14.03.2017
08:52:48
Вот это поворот!)

Razzwan
14.03.2017
08:53:02
Как сделать, чтоб роуты: <Route exact path='/services' component={one} /> <Route path='/services/:service' component={two} /> Вели на абсолютно разные страницы? В доках пример, где второй роут - это часть первой страницы. А мне нужно, чтоб это было абсолютно разные

Denis
14.03.2017
08:53:26
Я почему то всю жизнь считал TCP Sockets ~= WebSockets

Denis
14.03.2017
08:54:17
http://stratumsecurity.ghost.io/2016/06/13/websockets-auth/

Razzwan
14.03.2017
08:56:06
Вроде Switch нужно заюзать, он будет выбирать один Route из всех
<Switch> <Route key={i + 100} path={resolveRoute(route.alias)+'/:service'} component={one.default} /> <Route key={i} exact path={resolveRoute(route.alias)} component={component.default} /> <Route component={NoMatch} /> </Switch> У меня вот так сейчас написано. Это не работает. Всегда подключается компонент для второго роута

Mark
14.03.2017
08:57:04
resolveRoute(route.alias) Что возвращает?

Razzwan
14.03.2017
08:57:27
для этих двух роутов это всегда возвращает /services

Mark
14.03.2017
09:00:21
Очень странно. Вроде все ок, только не понятно зачем key.

Razzwan
14.03.2017
09:01:12
Вообще, это все в map завернуто

Mark
14.03.2017
09:01:55
Может все таки оригинальный кусок кода скинешь? А то тут я не вижу проблему.

Google
Razzwan
14.03.2017
09:03:40
Может все таки оригинальный кусок кода скинешь? А то тут я не вижу проблему.
похоже, я что-то принципиально делаю не так, но пока не могу понять, как сделать лучше

Mark
14.03.2017
09:04:58
На 17 строчке ты возвращаешь div. В доках написано что children могут быть только Route и Redirect

Denis
14.03.2017
09:05:14
Кто уже попробовал https://buckbuild.com ?

Andrey
14.03.2017
09:12:44
так там нет js

Alexander
14.03.2017
09:15:57
Те, кто на RN пишут пробовали (но, скорее всего, сами не знают)

Алексей
14.03.2017
09:19:44
то что там есть BUCK не значит что ты его юзаешь по дефолту

Andrew
14.03.2017
09:20:00
Копирайт в футере у buckbuild 2013 года ?

Admin
ERROR: S client not available

Ruslan
14.03.2017
09:20:06
Есть такие чатлане с массой свободного времени, кто вчера посмотрел большую часть докладов с React Conf? =)

Ruslan
14.03.2017
09:22:17
у них там сайт поломанный? В schedule не реагирует на изменение route

Алексей
14.03.2017
09:23:15
Artem
14.03.2017
09:30:02
Ребят, хотел спросить по поводу конфигов в архитектуре, есть ли проверенный инструмент для того чтобы можно было в любой точке приложения иметь доступ к конфигами проекта, которые лежат в едином файле в корне проекта?

Artem
14.03.2017
10:06:40
Ребят, хотел спросить по поводу конфигов в архитектуре, есть ли проверенный инструмент для того чтобы можно было в любой точке приложения иметь доступ к конфигами проекта, которые лежат в едином файле в корне проекта?
Разобрался ))) использую nconf для того чтобы один раз указать ему литерал и дальше обращатся к nconf за данными: const config = require('../../config'); nconf.argv().env(); nconf.defaults(config); console.log('\n ... port ...', nconf.get('development:port')); Если кто знает иструмент покруче, буду признателен если поделитесь ссылкой.

Сергей
14.03.2017
10:07:13
dotenv

https://www.npmjs.com/package/dotenv

Artem
14.03.2017
10:07:47
это получше будет?

если да то почему?

Google
Сергей
14.03.2017
10:08:18
Идеологически получше

ты во время сборки настраиваешь конфиг через энв переменные в .env файле основной конфиг, и ты можешь переопределять как угодно через переменные окружения доступ везде через process.env. и не перепутаешь имя переменной так просто

Artem
14.03.2017
10:09:51
то есть все конфиги будут хранится в переменных среды?

nconf кстати тоже позволяет редактировать во время сборки

Сергей
14.03.2017
10:10:38
я раньше сидел на nconf но слез потому что не удобно

у меня много серверов и куча агентов CI везде нужно описывать конфиги (ибо основной конфиг в .gitignore, потому что на каждый сервер свои настройки) А так ci прокидывает переменные окружения, вроде какой ветки, какой сервер, а ещё некоторые переменные в ci настраиваются

Artem
14.03.2017
10:11:43
ясно

а можно скинуть gist применения ?

Сергей
14.03.2017
10:12:22


Сергей
14.03.2017
10:12:27
https://www.npmjs.com/package/dotenv#preload

Artem
14.03.2017
10:13:12
ок

Сергей
14.03.2017
10:13:31
наподобии подобного применения, если конечно есть готовый
создай файл в корне .env и в корневом файле приложения require('dotenv').config() а дальше process.env.APP_VAR_NAME где нужно Если юзаешь вебпак, то там прокинуть нужно будет в definePlugin

Artem
14.03.2017
10:13:50
??

Сергей
14.03.2017
10:14:33
что-то вроде plugins: [ new DefinePlugin('process.env': process.env) ], ну или new DefinePlugin({ 'process.env': { ...process.env, MY_VAR: 'value' } })

Artem
14.03.2017
10:15:47
.env файл поддерживает js?

Сергей
14.03.2017
10:15:56
Нет

там: VARNAME=value VAR2=value2

Artem
14.03.2017
10:16:49
в таком случаае каким образом формировать вот такие вещи: development: { host: 'localhost', port: '4242', url: 'http://localhost:4242', // #### Paths // Specify where your content directory lives paths: { contentPath: path.join(__dirname + '/content/') }, logging: true },

Сергей
14.03.2017
10:17:27
не делать таких вещей))) а статически записывать в месте использования, относительно директории

Страница 1058 из 5115