Skip to content

Instantly share code, notes, and snippets.

@kenmori
Created July 10, 2019 07:00
Show Gist options
  • Save kenmori/d9c6b169ffc807cc07da3709839d1d16 to your computer and use it in GitHub Desktop.
Save kenmori/d9c6b169ffc807cc07da3709839d1d16 to your computer and use it in GitHub Desktop.
useState object typescript key number

Element implicitly has an 'any' type because expression of type 'number' can't be used to index type '{ 1: boolean;

  const [checkState, setCheck] = useState<LocalState>({
    0: false, 1: false, 2: false, 3: false, 4: false, 5: false, 6: false, 7: false, 8: false, 9: false }); // TODO initalStateとしてServerから渡ってきた値にする
  const handleChangePage = useCallback(() => {
    // TODO: do api reqest AppDataTable から渡す?
  }, []);

  const handleChangeRowsPerPage = useCallback(() => {
    // TODO: do api reqest AppDataTable から渡す?
  },[]);
  const handleClickToggle = useCallback((i: number) => (_e: React.MouseEvent) => {
    console.log(i, _e.target); // eslint-disable-line
    setCheck((prev) => ({...prev, ...{[i]: !checkState[i]} }));
  }, [])

to

type LocalState = {
[key: number]: boolean //fix this
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment