摘要:需求利用實現(xiàn)一個簡易的信息管理系統(tǒng)。寫的不太好,歡迎熟悉的大神來找茬。真心感激分析編寫就是不斷構(gòu)建組件的過程,首先要根據(jù)需求進行的劃分編碼服務(wù)端沒有用到服務(wù)器,采用了數(shù)據(jù)模擬的方式添加信息時自增長頁面組件刪除更新新增渲染
需求
利用React實現(xiàn)一個簡易的信息管理系統(tǒng)。
分析寫的不太好,歡迎熟悉React的大神來找茬。真心感激!
編寫React就是不斷構(gòu)建組件的過程,首先要根據(jù)需求進行UI的劃分:
-StudentBox -StudentList -Student -StudentForm編碼 服務(wù)端
沒有用到服務(wù)器,采用了數(shù)據(jù)模擬的方式
var id = 41060122; //添加信息時自增長ID var data = [ { id: 41060120, name: "Mary", age: 20 }, { id: 41060121, name: "Jacky", age: 18 }, { id: 41060122, name: "Helen", age: 21 } ];頁面
組件React
StudentBox
var StudentBox = React.createClass({ getInitialState: function () { return {data: data}; }, //刪除 handleDelete: function (index) { this.state.data.splice(index, 1); this.forceUpdate(); }, //更新 handleUpdate: function (student) { this.state.data.forEach(function (item) { if (item.id === student.id) { _.extend(item, student); } }); this.forceUpdate(); }, //新增 handleSave: function (student) { this.state.data.push(_.extend(student, {id: ++id})); this.forceUpdate(); }, render: function () { return () } });Student Messages
StudentList
var StudentList = React.createClass({ render: function () { var handleDelete = this.props.delete; var handleUpdate = this.props.update; return (
index | number | name | age | operation |
---|
Student
var Student = React.createClass({ getInitialState: function () { return {isEdit: false}; }, handleEdit: function () { this.setState({isEdit: !this.state.isEdit}); }, handleDelete: function (index) { this.props.delete(index); }, handleUpdate: function (id) { var name = React.findDOMNode(this.refs.name).value.trim(); var age = React.findDOMNode(this.refs.age).value.trim(); if (!name || !age) { return; } this.props.update({ id: id, name: name, age: age }); this.handleEdit(); }, render: function () { var index = this.props.index; var student = this.props.data; var operations = this.state.isEdit ?:; var name = this.state.isEdit ? : student.name; var age = this.state.isEdit ? : student.age; return () } }); {index} {student.id} {name} {age} {operations}
StudentForm
var StudentForm = React.createClass({ handleSubmit: function (e) { e.preventDefault(); var name = React.findDOMNode(this.refs.name).value.trim(); var age = React.findDOMNode(this.refs.age).value.trim(); if (!name || !age) { return; } this.props.save({ name: name, age: age }); }, render: function () { return (
渲染
React.render(, document.body );
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/91493.html
摘要:五六月份推薦集合查看最新的請點擊集前端最近很火的框架資源定時更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥雀呼晴,侵曉窺檐語。葉上初陽乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門,久作長安旅。五月漁郎相憶否。小楫輕舟,夢入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請::點擊::集web前端最近很火的vue2框架資源;定時更新,歡迎 Star 一下。 蘇...
摘要:五六月份推薦集合查看最新的請點擊集前端最近很火的框架資源定時更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥雀呼晴,侵曉窺檐語。葉上初陽乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門,久作長安旅。五月漁郎相憶否。小楫輕舟,夢入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請::點擊::集web前端最近很火的vue2框架資源;定時更新,歡迎 Star 一下。 蘇...
摘要:只因技術(shù)種類繁雜眾多層出不窮,程序員只有靠不斷的學(xué)習(xí)才能不落后于技術(shù),被工作淘汰。特此推薦給大家。 99%的程序員每天都是先學(xué)習(xí),后工作,不然完成不了工作。只因技術(shù)種類繁雜眾多、層出不窮,程序員只有靠不斷的學(xué)習(xí)才能不落后于技術(shù),被工作淘汰。我就是這其中一員,深得體會其中的「疼并快樂」,在...
摘要:工具軟件欲先攻其事必先利其器,用好工具是做好開發(fā)的基礎(chǔ)。框架目前最流行簡單易用,越來越多人用曾經(jīng)很流行,現(xiàn)在有點衰退狀態(tài)管理后端渲染開發(fā)工具依賴管理,應(yīng)用打包,任務(wù)管理,編輯器擴展,,移動端有了前端的知識后,我們還可以開發(fā)手機。 2019年即將到來,各位同學(xué)2018年辛苦了。 不管大家2018年過的怎么樣,2019年還是要繼續(xù)加油的! 在此我整理了個人認(rèn)為在2019仍是或者將成為主流的...
閱讀 1985·2021-11-22 14:45
閱讀 2593·2021-10-12 10:11
閱讀 768·2021-09-22 10:02
閱讀 1198·2019-08-30 15:55
閱讀 1142·2019-08-30 15:54
閱讀 3247·2019-08-30 15:54
閱讀 1181·2019-08-29 17:16
閱讀 3080·2019-08-28 17:55