反应来自useState的调用函数,例如useState(func())

时间:2020-05-13 21:55:59

标签: reactjs react-hooks

愚蠢的问题, 我可以在useState内调用/调用函数吗? 我是说useState(myfunc())还是应该做const func = myfunc(),然后是useState(func)还是根本没有关系?而且这样做没有副作用吗? 我想知道这方面的良好/最佳做法。通用方法是保存函数返回的状态值

1 个答案:

答案 0 :(得分:3)

是的,您可以:

有时候,有一个通用功能正在多个组件中使用是很好的,因此您可以按要求将其导入并使用,它具有同步执行和返回值。


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>