Andrei
просто я понимаю почему так происходит,а вот чтобы ее фиксить-не приходилось)
Anonymous
Andrei
примного благодарен)
Andrei
задачка на логику: есть 2 числа, 1 меньше 1, а второй больше, как это понять?( то есть проверить, что это именно так), первое может быть меньше, а второе больше и наоборот, без кучи ифов)
Alexander
Andrei
a-b>0?
нет. если а< 1, b>1 не сработает
Andrei
@reacttillidie и дальше что? у меня числа не -1 и 1, а 0.9 и 1.1. и мне надо понять, что у меня 0.9 и 1.1, а не 1.1 и 1.3
Andrei
желательно в одну операцию, ибо и так очень нагружен процесс(зумирование)
Andrei
" 1 меньше 1, а второй больше, "извини, нооо)цитата
Sergey
Dmitriy
Andrei
1.2 и 1.6- false.
0.9 и 1.2 -true
0.8 и 0.6- false
Dmitriy
a<1&&b>1 ?
Dmitriy
Andrei
Math.max = function()
{
var max = Infinity * -1;
for (var index = 0; index < arguments.length; index++)
{
var val = arguments[index];
if (val > max)
{
max = val;
}
}
return max;
}; функция math,max ) не самая лучшая идея использовать ее)
Dmitriy
Dmitriy
Math.sign(a-1)+Math.sign(b-1) === 0
Александр
Dmitriy
Andrei
красиво) о таких методах даже не знал))
Andrew
Ребят, нубский вопрос по React. Надеюсь хелпанете.
У меня есть HOC
выглядит вот так
Andrew
Если я делаю так const ButtonAppBar1 = withButtonAppBar( <QuestionarieNavbar />, <Target />);
то всё гут
Andrew
когда я рендерю таким способом
<ButtonAppBar />
Но вот так почему-то не могу
{ButtonAppBar}
Frontend Priest
Andrew
Andrew
Поэтому и HOC
Danil
Danil
Я не знаю что за кейс у тебя, но можешь сделать так cloneElement(MyComp)
Danil
Но вообще правильно <MyComp/>
Danil
Чем не устраивает это?
Andrew
Мне нужно засунуть это внутрь render ф-и в роуте. Вот так
Andrew
Но если я делаю так, то вижу ошибку
Danil
Ок, тогда сделай свой HOC обычным компонентом, а компоненты которые ты хочешь в нем рендерить прокидывай в него через Render Props
Danil
Пример:
<Content
renderHeader={() => <Header/>}
renderFooter={() => <Footer/>}
/>
Andrew
Я понял, спс. Думал об этом, скорее всего в конце-концов так и сделаю.
Однако сам вопрос, почему оно сейчас не пашет остался
Danil
А вообще ты в HOC передаёшь не верно компоненты, нужно передавать переменные
Danil
withBla(Comp1, Comp2)
Danil
А внутри ХОКа уже <Comp1/>
Danil
в этой ситуации тебе все равно нужен отложенный рендер как у RenderProps
Danil
можно сделать так withBla(() => <Comp1/>, () => <Comp2/>)
а внутри {arg1()} {arg2()}
но это убого и лучше через renderPorps
Danil
можно еще уродлевее))
withBla(Comp1, Comp2, props1, props2 )
а внутри
<Comp1 {…props1}/>
Andrew
И так,и так та же ошибка
Danil
точно, ты же через render делаешь, а возвращаешь результат выполнения ХОКа, а надо рендер возвращать
Danil
попробуй сделать так в роуте
render={(props) => {
const Component = withBla….
return <Component/>
}
Andrew
тоже самое
Danil
покажи итоговое и в роуте и сам ХОК
Andrew
Andrew
Danil
ну теперь ты с аргументами перестарался, сделай как были
Danil
в роуте имею ввиду когда прокидываешь
Andrew
Danil
зачем то обернул в массив, а второй обернул в функу…
Danil
да это должно помочь было, но делай нормально через renderProps и все
Danil
а еще у роута есть component вместо render, вот туда можно ХОК пихать, если я не ошибаюсь
Andrew
Не понимаю, зачем тогда в принципе ХОК функциональность, если по сути, пропсами можно добиться того-же
Danil
то есть по сути будет так component={MyComp}, в свою очередь withBla как раз и возвращает компонент
Danil
Andrew
Danil
у тебя с помощью withBla генерируется компонент налету и в его замыкание будут все данные доступны
Danil
ты же не будешь писать такое
const MyComp = withBla(…)
return <MyComp someProps={…}}
вот в это ситуации нужен render={…}
Andrew
Danil
а ну да, тогда не получится через component, если надо прокидывать
artalar
Danila
Sergey
Sergey
:)
Dmitriy
Как вы с реактом то живёте)