Передача аргумента react-native useState компоненту в среде тестирования jest

#typescript #react-native #testing #jestjs

Вопрос:

У меня есть модал, который принимает аргумент useState, который используется для отображения или закрытия модала на основе нажатия кнопки. (кнопка «Закрыть» находится в модальном режиме, а кнопка «показать» — в отдельном функциональном компоненте).

Когда я пытаюсь использовать useState в шутку, я получаю следующую ошибку:

 Invalid hook call. Hooks can only be called inside of the body of a function component  

Вот как определяется мой модальный:

 export default function PDFViewer({modalVisible, setModalVisible, file, filename}: {modalVisible:boolean, setModalVisible:Dispatchlt;SetStateActionlt;booleangt;gt;, file:string, filename?:string }): JSX.Element { ... Modal code ...}  

Вместо использования состояния использования я прямо сейчас передаю функцию void, но это не очень полезно.

шутливый рендеринг:

 const { getByText} = render(  lt;AuthProvidergt;  lt;PDFViewer modalVisible={false} setModalVisible={function (value: React.SetStateActionlt;booleangt;): void {  throw new Error("Function not implemented.");  } } file={""} /gt;  lt;/AuthProvidergt;  );   

Каков наилучший способ на самом деле передать состояние использования в модальное?