【发布时间】:2019-11-14 15:42:10
【问题描述】:
我正在尝试弄清楚如何在我的 React 应用程序中的箭头函数中设置初始状态。我在这里找到了这个例子:https://reactjs.org/docs/hooks-state.html 但这对我没有多大帮助。我想将tempOrders 和cols 放入状态,以便我的其他组件可以访问它们并可以更改它们。
这是我的代码:
// creating tempOrders array and cols array above this
const App = () => {
const [orders, setOrders] = useState(tempOrders);
const [columns, setColumns] = useState(cols);
return (
<div className={'App'}>
<Schedule
orders={orders}
setOrders={setOrders}
columns={columns}
setColumns={setColumns}
/>
</div>
);
};
export default App;
现在我的另一个相关问题是,如果我不将这 4 个变量/函数传递给 Schedule,ESLint 会向我抱怨它们是上面 2 个 const 行中未使用的变量。我认为我不需要传递它们,因为这就是状态的全部意义所在,您只需访问它们而无需传递它们。
【问题讨论】:
-
看来您对状态有误解。它是一个本地状态,如果你没有在这个组件中使用它,直接或向下传递它,它是未使用的。
-
它在箭头函数中的事实是无关紧要的。
-
话虽如此,尚不清楚您面临的问题是什么。
-
我认为 state 是您最初在顶级 App.js 中设置的内容,可以在任何组件中的任何位置使用。
-
有像 Redux 和 react-redux 这样的状态管理库来将状态绑定到组件。还有context in React,与您所描述的很接近。
标签: javascript reactjs state