javascript - react typescript ¿qué tipo es setState?
Estoy pasando un setState como prop desde un componente padre para modificar el estado en un componente hijo de ese padre, en TypeScript cuando se crea una interfaz, ¿cuál es el tipo de setState?
function App() {
const [links, setLinks] = useState();
return (
<div className='App'>
<Sidebar setLinks={setLinks} />
<Main />
</div>
);
}
sobre el niño:
interface SidebarProps {
setLinks: ??????;
}
const Sidebar: React.FC<SidebarProps> = ({ setLinks }) => {
return (
<div style={sidebar}>
<button onClick={() => setLinks('1')}>pic1</button>
<button onClick={() => setLinks('1')}>pic2</button>
</div>
);
};
Respuesta #1
Este es mi ejemplo basado en la respuesta de Kyrill.
interface Props {
editMode: boolean
setEditMode: React.Dispatch<React.SetStateAction<boolean>>
}
export default function NavToolbar(props: Props): ReactElement {
...
Estoy seguro de que hay mejores formas de hacer esto :)
Respuesta #2
Consulta el siguiente código:-
function App() {
const [links, setLinks] = useState<string>();
return (
<div className='App'>
<Sidebar setLinks={setLinks} />
<Main />
</div>
);
}
interface SidebarProps {
setLinks: Function;
}
const Sidebar: React.FC<SidebarProps> = ({ setLinks }) => {
return (
<div style={sidebar}>
<button onClick={() => setLinks('1')}>pic1</button>
<button onClick={() => setLinks('1')}>pic2</button>
</div>
);
};
