首页 > 解决方案 > 来自 useState 的 React 调用函数,例如 useState(func())

问题描述

愚蠢的问题,我可以在 useState 中调用/调用函数吗?我的意思是useState(myfunc())或者我应该这样做const func = myfunc()useState(func)或者根本不重要?这样做没有副作用吗?我想知道这方面的良好/最佳实践。一般的方法是保存函数返回的状态值

标签: reactjsreact-hooks

解决方案


是的你可以:

有时最好有一个在多个组件中使用的通用函数,这样您就可以导入它并按照您的要求使用它,它具有同步执行和返回值。


const { useState , useEffect } = React;

const App = () => {
  const getNames = () => {
    return ["Vivek" , "Darhista" , "Darshvi"]
  }

  const [users,setUsers] = useState(getNames());


  return (
    <div>
      { users.map(user => <p>{user}</p>) }
    </div>
  );
}

ReactDOM.render(<App />, document.getElementById('react-root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.4/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.4/umd/react-dom.production.min.js"></script>
<div id="react-root"></div>


推荐阅读