Eugene
Товарищи, а какой самый нормальный/популярный путь импортировать svg картиночки? 🤔
Anonymous
Ребят, в чем может быть проблема, после expo eject запускаю аппу через xcode, но аппа пытается подключиться к 80 порту, тогда как expo запускает сборку на 19000. Кто-нибудь сталкивался?
Dmitry
GrafMine
Ребят, вопрос про TextInput продолжаеться 🙂 сделал мини проект с конкретной проблемой, что игнориться value у TextInput’a. вот код и лог :
https://gist.github.com/GrafMine/680e2c6e9565c2ede5f35335f3133491
GrafMine
GrafMine
весь сок добавляет то что по кнопке с точно такой же механикой как в changeValue текст меняеться железно
Aynur
onChangeText={(value) => this._onChangeValue(value)}
Ivan
Попробуй на андроиде, в иос бага была
GrafMine
GrafMine
Ivan
Ну прост чтоб убедиться, что это та же бага
Ivan
Как костыль в onChangeText/onEndEdit/onBlur можно обновлять какой-то счетчик в стейте, который будет пропсом key у инпута, который тормозит
GrafMine
звучит жостко )) сейчас попробую )
GrafMine
GrafMine
работает спасибо, но фокус теряеться сразу когда что либо ввел
Ivan
Тебе ведь нужен фокус на другом инпуте?
GrafMine
нет на этом же
Ivan
Тогда можно доработать костыль установкой фокуса в калбеке сетстейта)
Ivan
Какая версия рн?
GrafMine
ахах))
"expo": "^30.0.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-30.0.0.tar.gz",
Ivan
А, точн)
Бобомурод
хорошо сказали. спасибо
Doc
Ребят кто может помочь..
голву сломал
есть родительский компонет. в нем есть компонент сообщения,
в компоненте сообщения есть функция которая срабатывает на onPress.
если перейти на другой экран, и потом вернуться назад, функция будет срабатывать два раза,
если так повторить три - пять раз
она выполнится соответсвенно 3 - 5 раз,,
что я упускаю
Dmitry
Doc
дочерний
export class Message extends React.Component {
clienteditOrderCENCEL = (e) => {
this.props.mainStore.socket.emit("BOT:key", { order: e, msg: "order:edit" });
};
render() {
<TouchableOpacity style={[styles.orderBtn]} onPress={this.clienteditOrderCENCEL.bind(this, this.props.orderInfo.idOrder)}>
<Text style={{ color: "#000" }}>Редактировать</Text>
</TouchableOpacity>
}}
Родитель
export class MessageList extends React.Component {
render() {
<Message key={uuidv4()} type={message.typeMsg} uri={message.uri} text={message.text} user={message.from.name} date={message.date} from={message.from} orderInfo={message.orderInfo} />;
}}}
Doc
код конечно сократил, и оставил только то что касается проблемы
выносил <TouchableOpacity в отдельный компонент, все равно
у меня есть предположения что изза .bind, но разобраться не могу
если удаляю .bind
функция срабатывает просто так, как будто я ее интервалом вызываю а не по клику
Dmitry
Дело не в этом
Vlad
Dmitry
Dmitry
и вот это key={uuidv4()}
Doc
вот тоже заметил
честно не помню почему так сделал. но если убираю bind, то функция не по тапу начинает работать а интервалом и без клика
Doc
Aleksei
нет, почти
onPress={this.clienteditOrderCENCEL(this.props.orderInfo.idOrder)}
export class Message extends React.Component {
clienteditOrderCENCEL = (e) => {
this.props.mainStore.socket.emit("BOT:key", { order: this.props.orderInfo.idOrder, msg: "order:edit" });
};
render() {
<TouchableOpacity style={[styles.orderBtn]} onPress={this.clienteditOrderCENCEL}>
<Text style={{ color: "#000" }}>Редактировать</Text>
</TouchableOpacity>
}}
Doc
еще делал вот так
но это же тоже что и bind
onPress={() => this.clienteditOrderCENCEL(this.props.orderInfo.idOrder)}
Aleksei
Doc
Doc
Doc
Попробывал, вроде все хорошо, НО все равно если уйти со стараницы и вернуться обратно то функция сабатывает два раза
Aynur
если вы пишете в методе onPress={method()}, а не, onPress={()=>method()} он будет вызываться сразу
Aynur
при рендере
Doc
Doc
Doc
вот на видео видно, что если компопнет перерендоривается, то фуннция начинает срабатывать два раза
если перерендерить три раза то три ращза сработает
Dmitry
А откуда данные грузятся,
Dmitry
и как
Dmitry
это очень похоже на зацикливание внутри middleware у redux
Doc
Doc
данные в mobx
Dmitry
я думаю, что нужно его курить
Doc
тоесть дело в нем модет быть.. хорошо..
Dmitry
просто я точно знаю, что у меня так же было с сокетами и редаксом, прям один в один
Doc
я просто не понмиаю почему он начинает выполнять функцию столько ращ сколько комопонент был перерендерен
Dmitry
я думаю, что тебе стоит залить куда-то проект, чтобы его можно было поковырять руками и посмотреть архитектуру
Doc
вообщем я тут понял одну штуку, функицю он один ращ выполняет
Doc
сокеты два раза выполняются
Doc
Dmitry
Переписал код миддлвары
Doc
вообщем до сиз пор не понимаю..
Dmitry
Я точно не помню. Было, что-то вроде того, что диспатч экшена из сабскрайба сокета, вызывал добавление еще одного диспатча в очередь
Dmitry
но у mobx observe
Dmitry
может и в них косяк какой, но я mobx не знаю
Chu
Всем привет!
А такой вопрос.
Кто-нибудь запускал код, в котором используются какие-то импорты экспо не через экспо, а через babel-cli ?
Chu
Chu
Вот такие ошибки начинает кидать.
Chu
Хотя если не импортить экспошного кода, то всё ок.
Dmitry
на андроиде ругается на конструкции в рендера типа
{condition && (<Text> {some text}</Text>)}
текст ошибки на скрине
при этом на ios такие конструкции работают корректно, можно ли как-то пофикcить?
Vlad
Dmitry
Anonymous
Скрин рендера целиком
Berik
Gena
Gena
Вроде последние версии RN стали это валидировать и раньше валиться. У вас какая?
Dmitry
весь рендер не поместится на скрин, но нужная часть вот )
Gena
Dmitry
171 строка