#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; );
Каков наилучший способ на самом деле передать состояние использования в модальное?