Size: a a a

React Native — русскоговорящее сообщество

2019 November 21

AE

Artur Eshenbrener in React Native — русскоговорящее сообщество
Vetaly
Привет, какие useCase в static методах в компонентах?  Кроме navigationOptions
Привет, много их, например когда надо вместе с компонентом расшарить немного кода для других компонентов.
источник

AE

Artur Eshenbrener in React Native — русскоговорящее сообщество
Иммутабельные функции в основном
источник

V

Vetaly in React Native — русскоговорящее сообщество
а смысл? можно же брать эти функции из utils
источник

AE

Artur Eshenbrener in React Native — русскоговорящее сообщество
Vetaly
а смысл? можно же брать эти функции из utils
Можно. А можно из того же модуля что и сам компонент. А можно и из самого компонента в виде статической функции
источник

AE

Artur Eshenbrener in React Native — русскоговорящее сообщество
Смысл в том что разницы особо никакой нет, можно делать по всякому, делай как удобно
источник

V

Vetaly in React Native — русскоговорящее сообщество
тоесть это просто вкусовщина, да? Я просто не вижу смысл перегружать компонент методами, которые можно вынести в отдельную функцию
источник

AE

Artur Eshenbrener in React Native — русскоговорящее сообщество
Vetaly
тоесть это просто вкусовщина, да? Я просто не вижу смысл перегружать компонент методами, которые можно вынести в отдельную функцию
не видишь смысла - не делай. Да, вкусовщина
источник

V

Vetaly in React Native — русскоговорящее сообщество
спасибо
источник

AN

Andrei Nikitin in React Native — русскоговорящее сообщество
Denis
Мне нужно по useEffect, проверить дату последнего логина с текущего, и отрендерить либо логин форму, либо другой экран.

Но useEffect отрабатывает позже, чем рендерится экран, и происходит небольшой блик. Можно показывать лоадер, либо может есть более элегантное решение?
useLayoutEffect отрабатывает до рендера
источник

AP

Artemka P. in React Native — русскоговорящее сообщество
В общем мне помогли другие люди разобраться в моем вопросе и для тех, кто использует поиск по каналу:

" ПЕРЕОПРЕДЕЛЕНИЕ СТИЛЕЙ в другом экране/скрине/screen ":


из файла Screen1.js где "инициализирован" наш "компонент"

const Logo = props => (
 <Image source={require('../assets/logo.png')} style={[styles.image, props.myVar]} />
);

// дефолтные стили
const styles = StyleSheet.create({
 image: {
   width: 200,
   height: 70,
   backgroundColor: '#F4A8A8',
 },
});


делаем переопределение наших стилей в Screen2.js

<Logo myVar={styles.image2}/>

// переопределение стилей
const styles = StyleSheet.create({
 image2: {
   backgroundColor: '#000000',
 },
});

вот так легко и просто и без ваших там "юзай промпсы", "читай мануал", "это же элементарно".
источник

I

Irakliy in React Native — русскоговорящее сообщество
Artemka P.
В общем мне помогли другие люди разобраться в моем вопросе и для тех, кто использует поиск по каналу:

" ПЕРЕОПРЕДЕЛЕНИЕ СТИЛЕЙ в другом экране/скрине/screen ":


из файла Screen1.js где "инициализирован" наш "компонент"

const Logo = props => (
 <Image source={require('../assets/logo.png')} style={[styles.image, props.myVar]} />
);

// дефолтные стили
const styles = StyleSheet.create({
 image: {
   width: 200,
   height: 70,
   backgroundColor: '#F4A8A8',
 },
});


делаем переопределение наших стилей в Screen2.js

<Logo myVar={styles.image2}/>

// переопределение стилей
const styles = StyleSheet.create({
 image2: {
   backgroundColor: '#000000',
 },
});

вот так легко и просто и без ваших там "юзай промпсы", "читай мануал", "это же элементарно".
собственно, сделал как тебе и говорили в самом начале
источник

AP

Artemka P. in React Native — русскоговорящее сообщество
Irakliy
собственно, сделал как тебе и говорили в самом начале
собственно вы мне написали кучу непонятных слов и примеров, которые не работали, когда я вставил их в свой код.

мне нужен был просто рабочий пример как это сделать, а не объяснение почему и как оно работает и должно работать, и посылать читать мануалы про промпсы и зачем они нужны.

мне просто нужно было переопределить стиль, а не гуглить
"react navive promps"

Ну вот пример из доков:

https://ru.reactjs.org/docs/components-and-props.html

function Comment(props) {
 return (
   <div className="Comment">
     <UserInfo user={props.author} />
     <div className="Comment-text">
       {props.text}
     </div>
     <div className="Comment-date">
       {formatDate(props.date)}
     </div>
   </div>
 );
}

и он мне никак не помог разобраться в том как перезаписать стиль. У меня нет function-сов никаких,

<UserInfo user={props.author} />

фиг знает откуда они взяли "props.author"

перейдя на источник примера ты находишь это:

const comment = {
 date: new Date(),
 text: 'I hope you enjoy learning React!',
 author: {
   name: 'Hello Kitty',
   avatarUrl: 'https://placekitten.com/g/64/64',
 },
};

и понимаешь что тебе нужно создать константу "const comment" для того чтобы потом засунуть ее значение в функцию
"function Comment(props) "  где ты сможешь ее вызвать так "user={props.author}"

и хрен его знает сработает ли этот вызов в другом файле
источник

I

Irakliy in React Native — русскоговорящее сообщество
Artemka P.
собственно вы мне написали кучу непонятных слов и примеров, которые не работали, когда я вставил их в свой код.

мне нужен был просто рабочий пример как это сделать, а не объяснение почему и как оно работает и должно работать, и посылать читать мануалы про промпсы и зачем они нужны.

мне просто нужно было переопределить стиль, а не гуглить
"react navive promps"

Ну вот пример из доков:

https://ru.reactjs.org/docs/components-and-props.html

function Comment(props) {
 return (
   <div className="Comment">
     <UserInfo user={props.author} />
     <div className="Comment-text">
       {props.text}
     </div>
     <div className="Comment-date">
       {formatDate(props.date)}
     </div>
   </div>
 );
}

и он мне никак не помог разобраться в том как перезаписать стиль. У меня нет function-сов никаких,

<UserInfo user={props.author} />

фиг знает откуда они взяли "props.author"

перейдя на источник примера ты находишь это:

const comment = {
 date: new Date(),
 text: 'I hope you enjoy learning React!',
 author: {
   name: 'Hello Kitty',
   avatarUrl: 'https://placekitten.com/g/64/64',
 },
};

и понимаешь что тебе нужно создать константу "const comment" для того чтобы потом засунуть ее значение в функцию
"function Comment(props) "  где ты сможешь ее вызвать так "user={props.author}"

и хрен его знает сработает ли этот вызов в другом файле
да тут всё хуже чем я думал. Давай по порядку: во-первыйх, пропсы - это основа основ реакта, её необходимо понимать, чтобы на нем писать. Во-вторых, невозможно быть хорошим программистом, если ты не можешь воспринимать документацию (тем более на русском) и искать инфу самостоятельно в гугле.
В-третьих, это абсолютно нормальное явление, что тебе пытаются объяснить как это работает, а не делать за тебя. Чтобы в будущем ты мог сделать сам. В-четвёртых, как понять "нет functions'ов"? const  name = () => {} это и есть функция, просто новым синтаксисом, так называемая "стрелочная"
источник

I

Irakliy in React Native — русскоговорящее сообщество
В-пятых, такие чаты нужну чтобы получить помощь в решении какой-то проблемы, с которой не можешь справится самостоятельно, не найдя инфы в инете
источник

AP

Artemka P. in React Native — русскоговорящее сообщество
да, я понимаю, что вы все хотите как лучше, начать изучать React Native с кучи теории программирования, с статических языков програмирования C++ и Java и с зубрежки наизусть всей документации и синтаксиса языка и только потом приступить к ПЕРЕОПРЕДЕЛЕНИЮ стилей

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

M[

Maxim 📱 Dzhafarov [R10] in React Native — русскоговорящее сообщество
Artemka P.
В общем мне помогли другие люди разобраться в моем вопросе и для тех, кто использует поиск по каналу:

" ПЕРЕОПРЕДЕЛЕНИЕ СТИЛЕЙ в другом экране/скрине/screen ":


из файла Screen1.js где "инициализирован" наш "компонент"

const Logo = props => (
 <Image source={require('../assets/logo.png')} style={[styles.image, props.myVar]} />
);

// дефолтные стили
const styles = StyleSheet.create({
 image: {
   width: 200,
   height: 70,
   backgroundColor: '#F4A8A8',
 },
});


делаем переопределение наших стилей в Screen2.js

<Logo myVar={styles.image2}/>

// переопределение стилей
const styles = StyleSheet.create({
 image2: {
   backgroundColor: '#000000',
 },
});

вот так легко и просто и без ваших там "юзай промпсы", "читай мануал", "это же элементарно".
Хах) то же самое 😆😆😆😆😆
источник

M[

Maxim 📱 Dzhafarov [R10] in React Native — русскоговорящее сообщество
Просто вместо style myVar написал
источник

D

Denis in React Native — русскоговорящее сообщество
Artemka P.
да, я понимаю, что вы все хотите как лучше, начать изучать React Native с кучи теории программирования, с статических языков програмирования C++ и Java и с зубрежки наизусть всей документации и синтаксиса языка и только потом приступить к ПЕРЕОПРЕДЕЛЕНИЮ стилей

я это прекрасно понимаю, но мне нужно было просто переопределить стили и все. Я может никогда в жизни к этому реакту и не прикоснусь больше
ты хочешь, чтобы за тебя решили задачу, а не направили в нужное русло..
источник

M[

Maxim 📱 Dzhafarov [R10] in React Native — русскоговорящее сообщество
+
источник

M[

Maxim 📱 Dzhafarov [R10] in React Native — русскоговорящее сообщество
Artemka P.
да, я понимаю, что вы все хотите как лучше, начать изучать React Native с кучи теории программирования, с статических языков програмирования C++ и Java и с зубрежки наизусть всей документации и синтаксиса языка и только потом приступить к ПЕРЕОПРЕДЕЛЕНИЮ стилей

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