我的react-router是版本4.2.0
我正在尝试接受对我的React应用程序的POST请求。我可能是盲人,但我无法找到在我的路线上指定请求方法(GET,POST)的方法。
如何设置此项以接受POST请求?
render((
<BrowserRouter>
<div>
<Route exact path="/" history={history} render={() => (
loggedIn()
? (<MyApp />)
: (<Redirect to="/login"/>)
)}/>
<Route exact path="/login" history={history} render={() => (
loggedIn()
? (<Redirect to="/"/>)
: (<Login />)
)}/>
</div>
</BrowserRouter>
), document.getElementById('app'));
理想情况下,我希望有第3条路由接受POST请求来处理来自供应商的POST。
我找到express-react-router但无法找到/安装“express-location”套餐。
任何帮助都将不胜感激。
答案 0 :(得分:4)
这是客户端路由。你不能在这里发帖请求。 您需要在快速js服务器上收听发布请求。
在你的serverjs:
In[2]: artist_tuples = [
...: ('House Manhufe','102257.jpg'),
...: ('Bernett Newman','75232.jpg'),
...: ('House Manhufe','32145.jpg'),
...: ('Kiri nichol','20304.jpg'),
...: ('Wolfgang', '48876.jpg'),
...: ('Arabesque','63861.jpg'),
...: ('Francis','99442.jpg')
...: ]
In[3]: files = ['102257.jpg','75232.jpg','32145.jpg','20304.jpg']
In[4]: by_filename = {filename: artist for artist, filename in artist_tuples}
In[5]: final_artist_filenames = []
...: for filename in files:
...: try:
...: artist = by_filename[filename]
...: except KeyError:
...: pass
...: else:
...: final_artist_filenames.append((artist, filename))
...:
In[6]: final_artist_filenames
Out[6]:
[('House Manhufe', '102257.jpg'),
('Bernett Newman', '75232.jpg'),
('House Manhufe', '32145.jpg'),
('Kiri nichol', '20304.jpg')]
In[7]: by_filename_only_from_files = {}
...: for filename in files:
...: try:
...: artist = by_filename[filename]
...: except KeyError:
...: pass
...: else:
...: by_filename_only_from_files[filename] = artist
...:
In[8]: by_filename_only_from_files
Out[8]:
{'102257.jpg': 'House Manhufe',
'20304.jpg': 'Kiri nichol',
'32145.jpg': 'House Manhufe',
'75232.jpg': 'Bernett Newman'}
那就可以了。