我正在学习理性反应,并且无法呈现我从 json api 获取的项目列表。
let url = region => {
"https://api.openbrewerydb.org/breweries?by_state="
++ Js.String.replaceByRe([%re "/\\s/g"], "_", String.lowercase(region));
};
[@react.component]
let make = (~region) => {
let (breweries, setBreweries) = React.useState(() => []);
React.useEffect1(
() => {
Js.Promise.(
Axios.get(url(region))
|> then_(response => {
resolve(setBreweries(response##data));
})
);
None;
},
[|region|],
);
let renderBrewery = brw => <div> {ReasonReact.string(brw##name)} </div>;
<div>
{breweries |> List.map(renderBrewery) |> Array.of_list |> React.array}
</div>;
};
我正在取回我期望在then_
块中的数据。但是,当项目被渲染时,我收到一个 JS 错误,TypeError: brw is undefined
这意味着我收到的对象与我尝试渲染的对象之间存在差异。