bootstrap-4를 사용하여 mobx-react에서 다시 관찰된 데이터 복귀
1)
Model
단순히 data
의 배열을 보유하는 객체. 그리고 배열에 action
를 추가하는 방법을 제공하는 data
입니다.2)
App
모델 개체를 인스턴스화하고 렌더링할 구성 요소:data
는 JSON 문자열로 렌더링된 배열입니다(해당 데이터는 observable
로 표시됨). action
로 표시됨)아래와 같이 bootstrap4
Button
에 Form
를 래핑하지 않으면 이 모든 것이 잘 작동합니다.render() {
return (
<>
{JSON.stringify(this.model.data)}
<Button onClick={this.addNewItem}>Add Another</Button>
</>
)
}
그러나
Button
가 bootstrap4 Form
에 래핑된 경우 JSON이 새 항목을 포함하도록 변경되지만 새 항목이 포함되지 않은 이전 데이터로 즉시 되돌아가는 약간의 지연을 볼 수 있습니다.render() {
return (
<>
{JSON.stringify(this.model.data)}
<Form>
<Button onClick={this.addNewItem}>Add Another</Button>
</Form>
</>
)
}
여기서 무슨 일이 일어나고 있는지 아십니까? 전체 소스는 아래에 있습니다.
감사,
크리스
import React, { Component } from 'react';
import { observer } from 'mobx-react'
import { Card, Form, Button } from 'bootstrap-4-react';
import { action, makeObservable, observable } from 'mobx';
class Model {
data = null
constructor(data) {
this.data = data
makeObservable(this, {
data: observable,
add: action
})
}
add() {
this.data.push({ "Date": new Date() })
}
}
class App extends Component {
constructor(props) {
super(props)
this.addNewItem = this.addNewItem.bind(this);
var data = [
{
"Date": new Date()
}
]
this.model = new Model(data)
}
addNewItem() {
this.model.add()
}
render() {
return (
<>
{JSON.stringify(this.model.data)}
<Form>
<Button onClick={this.addNewItem}>Add Another</Button>
</Form>
</>
)
}
}
export default observer(App);
Reference
이 문제에 관하여(bootstrap-4를 사용하여 mobx-react에서 다시 관찰된 데이터 복귀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cgokey/observed-data-reverting-back-in-mobx-react-with-bootstrap-4-3do2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)