Я знаю, что в vanilla js мы можем сделать
onclick="f1();f2()"
Что было бы эквивалентом двух вызовов функций onClick в ReactJS?
Я знаю, что вызов одной функции выглядит так:
onClick={f1}
javascript
reactjs
user2554585
источник
источник
ele.onclick = ...
илиaddEventListener
.Ответы:
Оберните два вызова функций + в другую функцию / метод. Вот несколько вариантов этой идеи:
1) Раздельный метод
или с классами ES6:
2) Встроенный
или эквивалент ES6:
источник
onclick={function() { f1(); f2(); }}
onclick={()=>{ f1(); f2() }}
onClick={ () => f1(); f2() }
Promises
это, вероятно, ответ, который вы искали.Возможно, вы можете использовать стрелочную функцию (ES6 +) или простое объявление старой функции.
Тип объявления нормальной функции ( не ES6 + ):
Анонимная функция или тип стрелочной функции ( ES6 + )
Второй - самый короткий путь, который я знаю. Надеюсь, это вам поможет!
источник
Вызывая несколько функций onClick для любого элемента, вы можете создать функцию-оболочку, что-то вроде этого.
Эти функции могут быть определены как метод в родительском классе, а затем вызваны из функции-оболочки.
У вас может быть основной элемент, который вызовет подобный onChange,
источник
это
onclick={()=>{ f1(); f2() }}
мне очень помогло, если мне нужны две разные функции одновременно. Но теперь я хочу создать аудиомагнитофон с одной кнопкой. Итак, если я нажимаю сначала, я хочу запустить StartFunction,f1()
а если я снова нажимаю, я хочу запустить StopFunctionf2()
.Как вы это понимаете?
источник
const play = () => { console.log("played"); } const pause = () => { console.log("paused"); } function* audioSwitcher() { let paused = true; while (true) { if(paused) { play(); } else { pause(); } yield paused = !paused; } }
Вы можете использовать вложенные.
Есть одна функция буксировки,
openTab()
а другая есть.closeMobileMenue()
Сначала мы вызываемopenTab()
и вызываем другую функцию внутриcloseMobileMenue()
.источник