周围的人似乎在单独的fetch("/api/v1/legacy/tenant-shop", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(dataToSubmit),
})
.then(response => {
console.log("THIS RESPONSE IS WORKING", response.status);
return response; // <---- this is important
})
.then(response => {
if (response && response.status === 201) {
console.log("BUT IT NEVER GOES THERE");
this.props.router.push("/congratilations");
} else {
console.log(
"THE RESULT OF THIS CONSOLE IS NULL",
response && response,
);
}
});
文件中使用createBrowserHistory
,我很好奇为此创建单独文件的确切原因是什么。
我在想什么
history.js
将其包含在构造函数中是一种不好的方法,我应该制作一个单独的import { createBrowserHistory } from 'history';
class MySpecialComponent extends Component {
constructor() {
super();
this.history = createBrowserHistory();
}
}
<Router history={this.history}>
<div>
<Route
path="/"
render={() => <RootComponent />}
exact
/>
<Route path="/confirm" render={() => <ConfirmComponent />} />
</div>
</Router>
并包含以下内容:
history.js
并将该文件导入import { createBrowserHistory } from 'history';
export default createBrowserHistory();
答案 0 :(得分:0)
我单独创建history
对象而不使用BrowserRouter
的唯一原因是,如果我想在某个地方做history.push
或history.replace
而不使用可以访问路由器道具。
现在,如果我将历史记录创建为组件的属性,则无法将该history
对象导入其他文件。
因此,我创建了一个单独的history.js
,然后可以在应用程序中的任意位置导入该历史记录并使用它。