精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用 Rails API 構建一個 React 應用程序

譯文
開發 開發工具
設置和構建一個以React作為前端的Rails API來處理動態數據無法保存的問題。

【51CTO.com快譯】使用React創建項目時,動態數據無法保存的問題要怎么辦呢?為此,我開始尋找一個充當備份的API來解決這一問題。

?[[411288]]?

在本文中,我將介紹如何設置和構建一個以React作為前端的Rails API的一些要點,以幫助那些和我遇到一樣問題的人。

本文計劃使用Rails API作為后端,React作為前端,所以需要學習本文的人遵循同樣的路徑和步驟。

后端:Rails API部分

作為創建Rails API之前的先決條件,建議使用Postgres配置數據庫,因為它比SQLite更容易部署。然后在你的目錄中找到并創建一個新項目,輸入以下命令: 

rails new <app_name> --api --database=postgresql
cd` `<app_name>

--database標志是為了選擇我們的數據庫引擎,這里我們使用Postgresql,而--api是為了創建一個基于Rails的API來使用我們需要的東西并跳過我們不會使用的額外配置。

使用編輯器打開項目。然后打開Gemfile并添加rack-cors: 

gem 'rack-cors', :require => 'rack/cors'

然后,運行 `bundle install`

在運行新的Rails應用程序之前,必須先將其連接到數據庫。接下來這一步,將把新創建的Rails應用程序連接到PostgreSQL數據庫,這樣就可以在需要時存儲和獲取配方數據。這步需要輸入:`rails db:create`

輸出結果將是這樣顯示: 

Created database 'app_name_development'
Created database 'app_name_test'

打開終端并運行以下命令來創建控制器和模型: 

rails generate model Movie name rating:integer
rails generate controller Movies index create update destroy
rails db:migrate

接下來實現控制器中的空方法來讓API正常工作:

??

現在有了一個管理模型的控制器,接著將把一些電影復制seed.rb文件中,以在瀏覽器中顯示它們,測試是否可以將數據轉換成json格式。復制以下電影: 

Movie.create(name: "Titanic", rating: 5)
Movie.create(name: "We were soldiers", rating: 4)
Movie.create(name: "L’amour quand elle nous tient", rating: 5)
Movie.create(name: "Nobody's Fool", rating: 2)

之后,將這四個元素粘貼到項目中運行:rails db:seed

接下來可以開始編寫代碼了。首先從route.rb開始。如果你打開該文件,你將發現由控制器自動生成的路由。因為我們將為API定義自己的路由,所以我們將刪除它們來定義新的路由/ API: 

Rails.application.routes.draw do
resources :movies
end

要查看你的應用程序,需要打開瀏覽器窗口并導航到http://localhost:3000。您將看到Rails默認的歡迎頁面。但是添加路由后,這意味著http://localhost:3000/movies將獲得我們在數據庫中的所有電影。也可以在瀏覽器上安裝任何 JSON 查看器擴展以查看格式化數據。 

前端:React部分

現在我們有了一個基本的API,讓我們使用它來設置前端React應用程序:

npx create_react-app

Create React App 是 Facebook 的一個項目,可幫助您無需任何配置即可快速開始使用 React 應用程序。

首先,確保你安裝了Node.js和npm。然后,確保你在Rails目錄之外,并運行以下命令來創建react app: 

npx create-react-app my_react

這將創建一個與我們的API通信的React應用程序。在目錄中輸入cd my_react并運行npm start后,將在http://localhost:3000上打開它。

React組件

React的主要優點之一是組件的概念,所以我們像下圖一樣創建我們所需的組件,刪除不需要的組件。

??

在源目錄中,我們將創建一個新的文件夾**組件**,并在其中放置要顯示的文件。

讓我們創建我們的第一個組件。讓我們在 todo- app/src/components/Movie.js 中創建一個新文件: 

import React, { Component } from 'react';
class Song extends Component {
render() {
return (
<div>
<h1>movies</h1>
</div>
);
}
}
export default Song;

這就是我們的組件。接著將它導入到我們的應用程序文件中,以便將它顯示到瀏覽器中。 

import './App.css';
import Song from './components/Song';
function App() {
return (
<div className="App">
<Song />
</div>
);
}
export default App;

使用 axios 獲取 API 數據

是時候從后端加載數據了。可以使用任何包來獲取/存儲數據。這次我們使用 axios。

安裝 axios 并在 Movie 組件中導入。 

npm install axios --save

首先在構造函數中將狀態初始化為一個空數組: 

constructor(props) {
super(props)
this.state = {
movies: []
}
}

由于我們已經在組件中初始化了狀態,現在讓我們實現 componentDidMount()方法來從 API 加載我們的數據: 

componentDidMount() {
axios.get('http://localhost:3000/movies')
.then(response => {
console.log(response)
this.setState({movies: response.data})
})
.catch(error => console.log(error))
}

import axios from 'axios'

記住導入axios: 

import axios from 'axios'

到這里你會因會被cors屏蔽而無法獲得你的數據。為了避免這種情況,你必須在config/aplication.rb中使用API: 

config.middleware.insert_before 0, Rack::Cors do
allow do
origins 'http://localhost:3000' resource '*', :headers => :any, :methods => [:get, :post, :put, :delete, :options]
end
end

現在我們知道我們可以從 API 中獲取想法,讓我們在 React 組件中使用它們。我們可以更改渲染函數以從狀態迭代列表想法并顯示它們中的每一個:

現在我們知道我們能夠從API中獲取思想,讓我們在React組件中使用它們。我們可以改變render函數來遍歷來自狀態的列表想法,并顯示它們中的每一個:

render() {
return (
<div>

{this.state.movies.map((movie) => {

return(

<div className="tile" key={movie.id} >

<h2>{movie.name}:<span>{movie.rating}</span></h2>

</div>
)
})}
</div>
);
}

現在我們可以在瀏覽器中看到我們的數據了。 

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】


責任編輯:黃顯東 來源: hackernoon.com
相關推薦

2023-09-21 08:00:00

ChatGPT編程工具

2018-11-14 19:00:24

PythonRedis共享單車

2025-07-24 09:08:31

2022-10-08 00:53:12

HTTP物聯網應用程序

2022-07-11 10:01:23

Vue 3前端

2011-05-11 10:58:39

iOS

2010-07-12 10:11:27

ibmdwWeb

2021-02-17 11:05:34

PythonPyQt代碼

2010-01-08 12:14:44

ibmdwAndroid

2024-06-07 08:25:16

2019-05-27 13:50:35

多云架構企業多云集成云計算

2010-06-13 09:22:37

jQuery

2020-10-14 15:05:02

React應用程序

2023-05-19 08:49:58

SQLAlchemy數據庫

2011-06-09 09:31:40

Qt 實例

2010-08-13 13:05:30

Flex應用程序

2013-01-11 14:45:43

iOS開發移動應用iPhone

2009-09-22 12:59:07

ibmdwWeb

2009-01-03 14:25:10

ibmdwWeb

2011-03-14 15:14:10

AzureFacebook營銷式應用程序
點贊
收藏

51CTO技術棧公眾號

国产麻豆成人传媒免费观看| 日韩一级毛片| 色婷婷国产精品久久包臀| 欧美激情视频一区二区三区| 正在播放木下凛凛xv99| 欧美一区二区三区另类| 精品视频—区二区三区免费| 黄色一级片免费的| 爱草tv视频在线观看992| 国产欧美一区二区在线| 高清视频在线观看一区| 少妇一级淫片日本| 一二三区精品| 九九热精品视频国产| 91精品人妻一区二区三区| 日韩成人在线看| 在线观看日韩av先锋影音电影院| 久久在线中文字幕| 麻豆91在线| 久久久三级国产网站| http;//www.99re视频| 亚洲永久精品一区| 999亚洲国产精| 久久中文字幕在线视频| 国产艳俗歌舞表演hd| 久久久久毛片免费观看| 欧美色网站导航| 日本欧美黄色片| 性直播体位视频在线观看| 国产精品丝袜91| 欧美性大战久久久久| 刘亦菲久久免费一区二区| 狠狠色狠狠色综合系列| 国产精品欧美激情| 在线永久看片免费的视频 | 无码人妻精品一区二区三区99v| 欧洲天堂在线观看| 99久久伊人精品| 国产精品日本一区二区| a天堂在线视频| 寂寞少妇一区二区三区| 国产精品一区二区三区成人| 福利网址在线观看| 六月天综合网| 欧美在线视频一区| 中文字幕日韩一级| 亚洲一区二区三区免费在线观看| 欧美精品福利在线| 精品无码人妻一区二区三区品| 欧美一区影院| 久青草国产97香蕉在线视频| 制服丨自拍丨欧美丨动漫丨| 欧美激情偷拍自拍| 日韩视频在线观看免费| 黄色精品视频在线观看| 天天色天天射综合网| 日韩一区二区欧美| 一区二区成人免费视频| 午夜日韩av| 韩剧1988免费观看全集| 国产一区二区三区影院| 亚洲一区日韩| 人人澡人人澡人人看欧美| 波多野结衣激情视频| 免费久久99精品国产| 成人春色激情网| 国产婷婷在线视频| 国产成人av影院| 精品一区久久久| 可以免费看污视频的网站在线| 国产亚洲自拍一区| 亚洲欧洲一区二区福利| 黄色网页网址在线免费| 亚洲一级片在线观看| 91精品91久久久中77777老牛| 中文字幕在线直播| 欧美日本免费一区二区三区| 亚洲熟妇一区二区| 香蕉久久精品日日躁夜夜躁| 亚洲最新av在线网站| 成人免费毛片xxx| 亚洲激情社区| 国产精品丝袜久久久久久高清| 99热这里只有精品3| 成人性视频免费网站| 日本一区二区三区四区高清视频 | 丰满熟女一区二区三区| 91在线精品一区二区三区| 日本高清不卡三区| 国产最新在线| 日韩欧美高清在线视频| gai在线观看免费高清| 成人18夜夜网深夜福利网| 亚洲精品自拍第一页| 美国一级片在线观看| 亚洲高清免费| 成人久久18免费网站图片| 欧美自拍偷拍第一页| 国产精品久久久久久久蜜臀| a天堂资源在线观看| 99精品在免费线偷拍| 日韩女优毛片在线| 免费看91的网站| 亚洲激情另类| 92看片淫黄大片看国产片| 男同在线观看| 亚洲成人久久影院| 91小视频在线播放| 国产麻豆精品久久| 国内揄拍国内精品| 99精品人妻无码专区在线视频区| 91片在线免费观看| av在线免费观看国产| 国产激情久久| 亚洲人成网在线播放| 亚洲一区二区91| 国内精品在线播放| 热re99久久精品国99热蜜月| 亚洲色图美国十次| 欧美日韩日日夜夜| 亚洲欧洲久久久| 国产日韩欧美| 国产精品我不卡| 日本动漫理论片在线观看网站| 欧美系列在线观看| 欧洲女同同性吃奶| 午夜亚洲影视| 狠狠色综合一区二区| 最爽无遮挡行房视频在线| 欧美日产国产精品| 2017亚洲天堂| 免费在线观看不卡| 色综合视频二区偷拍在线| 樱桃视频成人在线观看| 亚洲精品99999| 日韩免费av片| 成人avav影音| www.浪潮av.com| 国产精品qvod| 91av福利视频| 欧美午夜黄色| 欧美性xxxx极品hd满灌| 久久无码人妻精品一区二区三区| 亚洲国产精品一区| 国产伦精品一区二区三区视频黑人| av在线影院| 日韩精品一区二区三区视频| 久草视频手机在线观看| 粉嫩绯色av一区二区在线观看 | 免费看一级黄色| 久久激情五月婷婷| 最新视频 - x88av| 精品欧美视频| 欧美激情国产日韩精品一区18| 国产美女明星三级做爰| 伊人婷婷欧美激情| 亚洲欧美日韩偷拍| 夜久久久久久| 人禽交欧美网站免费| 69堂免费精品视频在线播放| 日韩小视频在线| 国产精品乱码一区二区| 亚洲精品ww久久久久久p站 | 久久成人福利| 国产91精品青草社区| 免费黄色在线视频网站| 欧美色综合网站| 国产免费无码一区二区视频| 成人一区在线观看| 免费无遮挡无码永久视频| 国产一区二区欧美| 国产日韩在线视频| 俄罗斯一级**毛片在线播放| 亚洲精品乱码久久久久久按摩观| 一二三区免费视频| 亚洲视频香蕉人妖| a天堂视频在线观看| 手机精品视频在线观看| 免费在线观看污污视频| 国产一区福利| 国产精品人人做人人爽| 人人澡人人添人人爽一区二区| 日韩理论片久久| 亚洲资源在线播放| 亚洲成人一二三| 69xxx免费| 国产成a人亚洲| 国产视频手机在线播放| 黄色亚洲在线| 亚洲精品中文字幕在线| 98视频精品全部国产| 日韩免费在线看| 女同视频在线观看| 自拍亚洲一区欧美另类| 人妻夜夜爽天天爽| 欧美色图一区二区三区| 99热国产在线观看| 亚洲人吸女人奶水| www在线观看免费视频| 国产激情91久久精品导航| 国产精品-区区久久久狼| 欧美影院一区| 午夜精品电影在线观看| 欧美做受69| 成人毛片网站| 国产高清日韩| 国产精品丝袜视频| 成人福利视频| 国内精品视频在线| www在线观看播放免费视频日本| 亚洲欧美国产日韩天堂区| 亚洲精品免费在线观看视频| 欧美三级视频在线播放| 天堂网一区二区三区| 一区二区三区成人在线视频| 亚洲а∨天堂久久精品2021| av激情综合网| 国内精品免费视频| 国产精品一区二区三区乱码| 日本888xxxx| 西西裸体人体做爰大胆久久久| 免费的一级黄色片| 久久久久久久久久久久久久| 日韩在线第一区| 免费一区二区三区视频导航| 精品免费二区三区三区高中清不卡| 在线观看欧美| 国产剧情日韩欧美| 本网站久久精品| 国产精品国产亚洲伊人久久 | 影院在线观看全集免费观看| 搡老女人一区二区三区视频tv| 男男电影完整版在线观看| 亚洲韩国欧洲国产日产av| www.中文字幕| 日韩女优制服丝袜电影| 亚洲av少妇一区二区在线观看| 91精品国产手机| 国产一区二区在线视频聊天| 欧美乱妇15p| 国产青青草视频| 欧美一区在线视频| 国产suv一区二区| 日韩精品中午字幕| 肥臀熟女一区二区三区| 亚洲成人久久久久| 少妇精品高潮欲妇又嫩中文字幕| 亚洲成人精品在线| 日韩美女一级视频| 亚洲日韩欧美视频| 成人综合影院| 久久久av一区| 搞黄网站在线看| 69av在线视频| 激情都市亚洲| 国产日韩av在线播放| 成人午夜888| 成人午夜影院在线观看| 精品国产午夜肉伦伦影院| 九九九久久久| 成人免费av| 在线观看污视频| 亚洲激情一区| 超碰av在线免费观看| 久久99热这里只有精品| 深夜视频在线观看| 26uuu国产电影一区二区| 日韩视频在线观看免费视频| 国产精品不卡一区二区三区| 可以直接看的黄色网址| 亚洲成人精品影院| 国产一级片免费在线观看| 欧美日韩的一区二区| 亚洲免费成人网| 国产亚洲精品美女| www视频在线免费观看| 国内精品中文字幕| 精品123区| 99久久伊人精品影院| 午夜先锋成人动漫在线| 成年人黄色在线观看| 精品白丝av| 国产aaaaa毛片| 粉嫩高潮美女一区二区三区| 性欧美精品男男| 亚洲综合在线第一页| www.久久久久久久| 精品欧美黑人一区二区三区| 欧美日韩免费做爰大片| 欧美成人性生活| 国产精品扒开腿做爽爽爽视频软件| 成人国产精品久久久| 天堂在线精品| 99亚洲精品视频| 久久国产欧美| 国产主播精品在线| 三级在线观看免费大全| 亚洲码国产岛国毛片在线| 久久精品国产成人av| 欧美一区二区三区四区在线观看 | 国产99精品视频| 欧美 日韩 成人| 亚洲www啪成人一区二区麻豆| 中文字幕欧美色图| 日韩av最新在线观看| 1区2区3区在线视频| 国产精品美乳在线观看| 美女福利一区| 日本a级片在线播放| 久久国产综合精品| 国产精品密蕾丝袜| 五月婷婷综合网| 国内老熟妇对白xxxxhd| 伊人激情综合网| 亚洲精品中文字幕| 国产午夜精品一区| 中文字幕一区二区三三| 日日躁夜夜躁aaaabbbb| 久久久99精品久久| 在线能看的av| 亚洲福利在线观看| 在线观看电影av| 91精品国产精品| 风间由美性色一区二区三区四区| 久久久久久久久影视| 久久精品国产久精国产爱| 国产视频三区四区| 在线观看成人免费视频| 激情小视频在线| 日韩av手机在线| 九九亚洲精品| 无码aⅴ精品一区二区三区浪潮 | 日韩欧美一区二区免费| 久cao在线| 成人免费网站在线| 久久精品影视| www.久久com| 亚洲精品国产无套在线观| 99久久精品日本一区二区免费| 久久久91精品| 国产专区精品| 91大学生片黄在线观看| 国产成人在线视频网站| avove在线播放| 日韩精品一区二区三区在线| 人人超在线公开视频| 国产精品一区在线播放| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲欧美在线一区| 深夜成人影院| 亚洲精品国产精品国自产| 男女视频一区二区| 懂色av粉嫩av蜜臀av一区二区三区| 欧美丰满嫩嫩电影| 人人超在线公开视频| 国新精品乱码一区二区三区18| 亚洲精品专区| 人妻aⅴ无码一区二区三区| 欧美日韩免费一区二区三区视频| 黄色在线观看网站| 国产精品乱子乱xxxx| 国产欧美日本| 国产91丝袜美女在线播放| 777欧美精品| 国语对白在线刺激| 麻豆av一区二区三区久久| 免费一级片91| 久久99久久久| 亚洲品质视频自拍网| 亚洲日韩中文字幕一区| 欧美a级免费视频| 久久久久国产精品人| 91在线精品入口| 久久久中精品2020中文| 亚洲精品国产setv| 中文字幕日韩综合| 亚洲午夜精品网| 国产在线中文字幕| 亚洲aⅴ日韩av电影在线观看| 激情综合在线| 精品亚洲aⅴ无码一区二区三区| 欧美一区二区三区啪啪| 波多野结衣中文在线| 色之综合天天综合色天天棕色| 韩国av一区二区| 久久国产黄色片| 久久精品中文字幕电影| 欧美精品中文| 91精品国产三级| 一本色道久久综合精品竹菊| 国产精品一卡二卡三卡 | 91福利视频免费观看| 黄色一区二区在线| 日本中文字幕在线视频| 狠狠色狠狠色综合人人| 老司机免费视频一区二区三区| 成人小视频在线观看免费| 嫩草影视亚洲| 一区二区三区四区毛片| 日韩人体视频一二区|