
Сергей
22.05.2018
15:12:38

Again
22.05.2018
15:12:43
Как это можно по другому сделать?

Сергей
22.05.2018
15:12:54

Roman
22.05.2018
15:12:57

Google

from
22.05.2018
15:13:09
наверняка это и не компонент)

Vadim
22.05.2018
15:13:19
так не пиши
можно в какие-то конкретные места вставлять, если children не позволяет

Roman
22.05.2018
15:13:29
number={this.state..length + 1} не надо так

Сергей
22.05.2018
15:13:30

Oleh
22.05.2018
15:13:57
presets может
{
"presets": [["es2015", { "modules": false }], "react", "stage-0"],
"plugins": [
"react-hot-loader/babel",
"syntax-dynamic-import"
]
}

from
22.05.2018
15:13:57

Vadim
22.05.2018
15:13:59

Maxim robox
22.05.2018
15:14:02
Помимо всего прочего, нельзя так обращаться к текущему state внутри setState. Для этого у setState есть вторая форма с колбэком.

from
22.05.2018
15:14:07

Roman
22.05.2018
15:14:33

Женя
22.05.2018
15:14:54

Kendr
22.05.2018
15:15:08

Google

Сергей
22.05.2018
15:15:27

from
22.05.2018
15:15:33
думаешь?
в смысле "думаю"
вижу, что в коде на скриншоте их нет

Сергей
22.05.2018
15:15:34
зачем
шаблонные куски кода/верстки подменять

Roman
22.05.2018
15:16:07
@sergeysova number={this.state..length + 1}
такой код мутирует стейт?

Kendr
22.05.2018
15:16:08
Зачем в пропесы прокидывать цомпонент?

from
22.05.2018
15:16:26

Kendr
22.05.2018
15:16:27

Again
22.05.2018
15:16:29

Сергей
22.05.2018
15:16:30

from
22.05.2018
15:16:49
Другое дело, что лучше это делать примерно так
<SomeLayout renderFooter={() => <footer />} />

Сергей
22.05.2018
15:16:59

from
22.05.2018
15:17:01

Сергей
22.05.2018
15:17:12

Vadim
22.05.2018
15:17:29

Сергей
22.05.2018
15:17:47

Vadim
22.05.2018
15:18:07

Сергей
22.05.2018
15:18:16

from
22.05.2018
15:18:16
не лучше
лушче, потому что потребляющий компонент может по условию рендерить и не рендерить этот самый футер

Сергей
22.05.2018
15:18:28

Google

from
22.05.2018
15:18:31
И в тех случаях, когда он не рендерит, то и создаваться компонент не будет

Сергей
22.05.2018
15:18:40

Again
22.05.2018
15:18:40
как делать

Oleh
22.05.2018
15:19:23
покеж сервер.жс
const path = require("path");
const express = require("express");
const {renderToString} = require("react-dom/server");
const App = require("./js/App");
const template = require("./template");
const app = express();
// Serving static files
app.use( express.static( path.resolve( __dirname, "../dist" ) ) );
// hide powered by express
app.disable('x-powered-by');
// start the server
// server rendered home page
app.get('/*', (req, res) => {
const content = (<App/>),
response = template(renderToString(content));
res.writeHead( 200, { "Content-Type": "text/html" } );
res.send(response);
});
app.listen(process.env.PORT || 3000);

from
22.05.2018
15:19:28
ну мб и так, я подумаю
плюс нередко может захотеться прокинуть в этот renderFooter ещё какие-то пропсы
особенно если это не абстрактный "футер", а какой-то более динамичный элемент

Again
22.05.2018
15:19:53

Сергей
22.05.2018
15:19:55

Again
22.05.2018
15:19:56
это было очевидно
потратил часа 2,наверное.лол просто

Женя
22.05.2018
15:20:37

Женя
22.05.2018
15:21:24
const content = (<App/>)
cкорее всего даже здесь

Oleh
22.05.2018
15:21:36

Женя
22.05.2018
15:21:52
ну ты конечно можешь попробывать сделай такой финт ушами
const React = require('react')

Oleh
22.05.2018
15:22:19
типа React.createElement?

Женя
22.05.2018
15:22:19
в начале сервер.жс
но это бред

Google

Сергей
22.05.2018
15:22:36
не пишите столбиками

Oleh
22.05.2018
15:23:40
в начале сервер.жс
я же прогоняю этот файл через вебпак и получаю на выходе то уже другой код, с которым все ок
проблема была в том, что нужно было в server.js добавить react и так же при require из App.js взять свойство default. const App = require("./js/App").default;

Сергей
22.05.2018
15:37:24
говорил же, потерял реакт где-то

Roman
22.05.2018
15:51:34
чем нынче и как нынче проще завести ssr в существующий проект?

Cenator
22.05.2018
15:52:28
Но в примитивном варианте вот https://gist.github.com/evgenyrodionov/d29ab267c2c18d16b37377ca6c30232b
@romanolin

Roman
22.05.2018
15:54:26

Ruslan ?
22.05.2018
16:38:36
https://medium.com/material-ui/material-ui-v1-is-out-e73ce13463eb

Admin
ERROR: S client not available

Vladimir
22.05.2018
16:40:10
Да ну нет же

Сергей
22.05.2018
16:42:09

Vladimir
22.05.2018
16:42:12
Это нормально, когда ты знаешь, что это необходимо. И поддерживаешь и рендер-проп и классы, наследующие компоненты

Сергей
22.05.2018
16:42:25

Vladimir
22.05.2018
16:42:34

Сергей
22.05.2018
16:42:41
Это нет

Vladimir
22.05.2018
16:43:24
Ну, у нас есть Table, принимает в себя row и head

Сергей
22.05.2018
16:43:54
Если мне надо прокинуть клик

Google

Сергей
22.05.2018
16:44:24
renderRow позволит легко

Vladimir
22.05.2018
16:44:50
renderRow={<MyRow onClick={myFn}/>}

Сергей
22.05.2018
16:45:02
Сейчас переделываю все на функции
Row={MyRow}
Это ад

Vladimir
22.05.2018
16:46:16
<Table
className="M0"
renderRow={({ item }) => (
<TableRow key={item.id} item={item} t={t} confirmDeleteExtract={confirmDeleteExtract} />
)}
renderHeader={props => <TableHeader {...props} t={t} />}
data={data}
/>

Andrey
22.05.2018
16:46:44
Почему в children не передать?

Сергей
22.05.2018
16:48:58

Vladimir
22.05.2018
16:49:27

Voskresus
22.05.2018
16:55:52
как быть с промисами в реакте ?

Dmitrii
22.05.2018
16:58:24
на чем щас лучше новый проект стартовать saga/thunk/rxjs?

Andrey
22.05.2018
17:00:40

Dmitrii
22.05.2018
17:00:53
я их все знаю

Andrey
22.05.2018
17:01:16
Тогда странно от тебя такой вопрос слышать.
Я бы взял санки. Просто и бронебойно.

Andrew
22.05.2018
17:01:32
Как загрузить файл на сервер?
Я не пойму, что передавать нужно на backend

Dmitrii
22.05.2018
17:01:37
ничего странного, узнать мнение сообщества

Andrey
22.05.2018
17:02:13

from
22.05.2018
17:02:40
ну и immer нельзя не попробовать