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