反应打字稿setState是什么类型?

时间:2020-09-26 21:53:06

标签: javascript reactjs typescript

我正在从父组件传递setState作为道具,以修改该父对象的子组件,创建接口时在打字稿上的状态,setState的类型是什么?

function App() {
    const [links, setLinks] = useState();

    return (
        <div className='App'>
            <Sidebar setLinks={setLinks} />
            <Main />
        </div>
    );
}

关于孩子:

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>
    );
};

3 个答案:

答案 0 :(得分:1)

React.Dispatch

如果您推断setState的类型(例如,我假设string),则setState<string>()以上可以替换

答案 1 :(得分:1)

请参考以下代码:-

# List all Virtual Machines in the specified subscription
def list_virtual_machines():
    for vm in compute_client.virtual_machines.list_all():
        print(vm.name)

list_virtual_machines()

答案 2 :(得分:0)

这是我基于 Kyrill 回答的示例。

interface Props {
  editMode: boolean
  setEditMode: React.Dispatch<React.SetStateAction<boolean>>
}

export default function NavToolbar(props: Props): ReactElement {
 
...

我相信有更好的方法可以做到这一点:)