Функция, вызванная из контекста, не будет работать (реагировать)

#reactjs #react-context

#реагирует на #реагировать-контекст

Вопрос:

Я использую контекст для вызова функции HelloWorld в своем приложении React. Он работает в onClick, но по какой-то причине он не работает, когда я определяю его в функции.

 export const TestProvider = () =gt; {  const helloWorld = () =gt; console.log('hello world');   return (  lt;TestContext.Provider value={{  helloWorld  }}gt;  )}  export const useTestContext = () =gt; {  const context = useContext(TestContext)  return context }  
  • Это работает
 const { helloWorld } = useTestContext()  return (  lt;button onClick={helloWorld} /gt; )  
  • Это не сработало бы
 const { helloWorld } = useTestContext()   const handleHelloWorld = async () =gt; {  await helloWorld  }  

Как я могу устроиться на работу handleHelloWorld здесь?

Комментарии:

1. Если вы добавите к helloWorld нему перентезис, это не сработает? Я имею в виду await helloWorld() .

2. Обратный вызов должен быть вызван кем-то другим. В последнем фрагменте handleHelloWorld-это обратный вызов, а HelloWorld-нет, вы несете ответственность за его вызов.