React.KeyboardEvent
- это синтетическое событие, которое генерируется в React. KeyboardEvent
- это оригинальное событие, которое генерируется в браузере.KeyboardEvent
лежит в event.nativeEvent
у React.KeyboardEvent
.const closeByESC = (event: KeyboardEvent | React.KeyboardEvent) => {
document.addEventListener('keydown', closeByESC);
npm run build
(который react-scripts build
), либо делай npm run eject
и правь настоящий конфиг React'a. export interface ICustomTableCellProps {
contact: IUser;
cellData: keyof IUser;
onChange: Function;
}
Должны приходить строка или число (name, lastname, age, pager)
contact[cellData]
, то cellData
очевидно может принимать только значения ключей contact
, а contact
- это IUser
... React.ComponentProps<typeof ForeignComponent>
и т.д. и т.п. return
поставьте if(!gif) return null;
и станет лучше.)undefined
, попытка получения свойства у undefined
(gif.<some>
) - очевидная ошибка. object
в современном ts занчит просто {}
без всяких свойств. Если вам нужен любой объект с любыми свойствами, то используйте Record<string, any>
. Однако по хорошему никаких any
быть не должно, вам следует чётко описать структуру получаемого объекта.useOnScreen
- это нестандартных хук. Реализаций в гугле полно разных. Так что приведите его код и скажите, что вы хотите от него добиться. useEffect
сам по себе только запускается уже после рендера. const [todos, setTodos] = useState([]);
. {todos ? <TodoList todos={todos}/> : <LoadingComponent/>}
Сначала покажет какой-нить спиннер, потом подгруженный список.