आप एक घटक आइटम की स्थिति को कैसे प्रतिक्रिया में बदलते हैं? जब तक मैं इसे गलत समझा गया हैReact.js: आप एक घटक आइटम की स्थिति कैसे बदलते हैं
, key
, जो डोम में data-reactid
का प्रतिनिधित्व करती है द्वारा आदेश सूची आइटम प्रतिक्रिया है, लेकिन मैं कैसे पृष्ठ पर घटकों के key
संशोधित करने के लिए पता नहीं है।
यानी आप घटक को कैसे पकड़ते हैं, इसे key
बदलें, और उसके बाद एक रेंडर आग लगाना ताकि आपके द्वारा सेट किए गए क्रम में पुनर्नवीनीकरण सूची प्रस्तुत की जा सके?
उदा। निम्नलिखित कोड उदाहरण में, जब Click me
लिंक क्लिक किया गया है, तो पहली सूची आइटम अंतिम सूची आइटम के साथ बदल दिया जाएगा।
आदर्श रूप से, यह कार्यक्षमता आपको render
विधि में घटकों के क्रम को बदले बिना पृष्ठ पर किसी भी घटक को गतिशील रूप से पुन: व्यवस्थित/स्थानांतरित करने की अनुमति देगी। https://github.com/bengrunfeld/gae-react-flux-todos
var TodoBox = React.createClass({
render: function(){
return (
<div className="todo-container">
<h4>GAE React Flux Todos</h4>
<TodoList data={this.state.data} />
</div>
)
}
});
var TodoList = React.createClass({
changePosition: function(e){
// Change position of list item (e.g. to top/certain position/end of list)
},
render:function(){
var todoNodes = this.props.data.map(function(todo) {
return (
<Todo key={todo.id} id={todo.id}>
{todo.todoText}
</Todo>
);
});
return (
<form className="todoList">
{todoNodes}
<a onClick={this.changePosition}>Click me</a>
</form>
)
}
});
var Todo = React.createClass({
render:function(){
return (
<div className="todoItem">
<input type="text" className={this.props.id} onChange={this.checkInput} defaultValue={this.props.children} ref="todoItem"/>
</div>
)
}
});
प्रतिक्रियाओं के उपयोग के तरीके के बारे में आपकी व्याख्या के लिए धन्यवाद, और इस मुद्दे को हल करने के तरीके का कोड उदाहरण। – Ben
प्रश्न से कोड के संयोजन के साथ जेएसबीन और यह उत्तर, डेटा और सॉर्टिंग जोड़ा गया: http://output.jsbin.com/yacacu –