我应该定义模型 类 吗?

Should I define model classes?

React 使用 Flux 架构,在 https://reactjs.org/docs/thinking-in-react.html that React has two models - state and props. And there are some suggestions for model management in React https://reactjs.org/community/model-management.html 中有说明 - 但所有这些似乎都需要一些额外的层来增强 Flux。我正在寻求答案的主要问题是:

最基本的方法如下片段所示:

const Customer = ({ name, age }) => (
  <div>
    <p>Name: {name}</p>
    <p>Age: {age}</p>
  </div>
);

const App = () =>
  [{ name: "Bert", age: 22 }, { name: "Alfons", age: 45 }].map(
    ({ name, age }, i) => (
      <>
        <Customer key={i} name={name} age={age} />
        <hr />
      </>
    )
  );

在哪里定义这些道具取决于你在哪里需要它们。如果只有一个组件需要道具,您可以在该组件状态下定义它们。但是通常你需要几个组件中的道具,所以你lift them in your hierarchy up。这通常会导致非常 "smart" 的组件(具有大状态的组件)。

如果您的应用变得庞大且混乱,我建议您将状态存储在外部。为此,您可以使用 react context。它允许您将 props 注入到需要它的组件中,而不是在您的层次结构中向下传递几层。

如果您不想编写自己的上下文,您可以使用 redux or mobx 等状态管理解决方案。它们也使用上下文,但提供了方便的功能来轻松地将组件连接到您的外部状态。