2017-01-31 1 views
2

을 만들어 중복, 나는 다음 예제 코드로 시작 :영역은 기본 iOS의 반응 - 데이터베이스 난 그냥 기본 반응에 대한 영역 IO를 시작하는거야

const Realm = require('realm'); 

class ReactNative_GrammarApp extends Component { 
render() { 
    let realm = new Realm({ 
    schema: [{name: 'Dog', properties: {name: 'string'}}] 
}); 

realm.write(() => { 
realm.create('Dog', {name: 'Rex'}); 
realm.create('Dog', {name: 'Bert'}); 
realm.create('Dog', {name: 'Sam'}); 
realm.create('Dog', {name: 'John'}); 
realm.create('Dog', {name: 'Simon'}); 
realm.create('Dog', {name: 'Larry'}); 
realm.create('Dog', {name: 'Seymor'});  
}); 

    return (
    <View style={styles.container}> 
    <Text style={styles.welcome}> 
    Count of Dogs in Realm: {realm.objects('Dog').length} 
    </Text> 
    </View> 
); 

} 
} 

내 문제는 때마다 내가 새로 고침이다 시뮬레이터에서 응용 프로그램을 누른 다음 카운트가 7 씩 증가합니다. 코드에서이 문제가 발생하는 이유는 알 수 있지만 앱을 새로 고칠 때마다 크기가 두 배로 늘어나지 않는 데이터베이스를 만드는 방법은 무엇입니까? 내 경험은 MySQL과 같은 것들로, 그래서 나에게는 꽤 이상하다.

답변

1

개발자 메뉴를 통해 새로 고침하는 것은 앱을 죽이고 다시 열 때와 같이 작동합니다. 구성 요소가 렌더링 될 때마다 해당 요소를 다시 데이터베이스에 씁니다. 그리고 그 이유는 앱을 열 때마다 렌더링되기 때문입니다. (항상 동일한 데이터베이스입니다. 데이터베이스 시작은 앱 시작시 다시 생성되지 않습니다.)

추가 설명 : 데이터베이스에 무언가를 쓰지 않습니다.

+0

데이터베이스를 재설정하려면 장치에서 응용 프로그램을 제거하고 응용 프로그램을 다시 설치하거나 데이터베이스에서 모든 항목을 제거하는 방법에 대한 영역 설명서를 확인하십시오. 원인의 'Dog-Entries'를 모두 삭제할 수도 있습니다. –

+0

사람이 일반적으로 렌더링 기능에서 데이터베이스에 무언가를 쓰지 않는다면 데이터베이스에 무언가를 쓰는 방법을 보여줄 수 있습니까? –

+0

질문은 "방법"이 아니어야하며 "언제"가되어야합니다. 사용자가 수식을 제출하거나 서버 요청 또는 그와 비슷한 것으로 응답 한 것과 같은 이벤트에 대해 데이터베이스에 데이터를 쓸 것입니다. –