How to use react-native-fs?
up vote
0
down vote
favorite
If componentWillMount()
function is running first time, items
array is empty. Why?
componentWillMount()
items.splice(0, items.length);
RNFS.readDir(RNFS.DocumentDirectoryPath)
.then((result) =>
console.warn('result: ', result); // debug
for(var i = 0; i < result.length; i++)
if(result[i].name.endsWith('.txt'))
var tmp = result[i].name;
console.warn(tmp); // debug
items.push(tmp);
)
.catch((err) =>
console.log(err.message, err.code);
);
console.warn(items); // empty
And using readFile()
for get .txt's content, con
is empty
renderItem(item)
return (
<View style = styles.renderItemContainer
key=items.indexOf(item) >
<TouchableOpacity style=styles.renderItemTouchableOpacity
onPress = () =>
fileName = item;
var path = RNFS.DocumentDirectoryPath + '/' + fileName;
RNFS.readFile(path, 'utf8')
.then((contents) =>
console.warn(contents);
con = contents; // not working
)
.catch((err) =>
console.log(err.message, err.code);
);
console.warn(con); // empty
this.props.navigation.navigate('editorScreen');
>
<Text style = styles.renderItemText>
item
</Text>
</TouchableOpacity>
</View>
);
in render()
function, using items
array for list .txt files in ScrollView
render()
return(
....
<ScrollView>
items.map((items) => this.renderItem(items))
</ScrollView>
....
);
javascript arrays react-native react-native-fs
New contributor
Onur Güler is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
up vote
0
down vote
favorite
If componentWillMount()
function is running first time, items
array is empty. Why?
componentWillMount()
items.splice(0, items.length);
RNFS.readDir(RNFS.DocumentDirectoryPath)
.then((result) =>
console.warn('result: ', result); // debug
for(var i = 0; i < result.length; i++)
if(result[i].name.endsWith('.txt'))
var tmp = result[i].name;
console.warn(tmp); // debug
items.push(tmp);
)
.catch((err) =>
console.log(err.message, err.code);
);
console.warn(items); // empty
And using readFile()
for get .txt's content, con
is empty
renderItem(item)
return (
<View style = styles.renderItemContainer
key=items.indexOf(item) >
<TouchableOpacity style=styles.renderItemTouchableOpacity
onPress = () =>
fileName = item;
var path = RNFS.DocumentDirectoryPath + '/' + fileName;
RNFS.readFile(path, 'utf8')
.then((contents) =>
console.warn(contents);
con = contents; // not working
)
.catch((err) =>
console.log(err.message, err.code);
);
console.warn(con); // empty
this.props.navigation.navigate('editorScreen');
>
<Text style = styles.renderItemText>
item
</Text>
</TouchableOpacity>
</View>
);
in render()
function, using items
array for list .txt files in ScrollView
render()
return(
....
<ScrollView>
items.map((items) => this.renderItem(items))
</ScrollView>
....
);
javascript arrays react-native react-native-fs
New contributor
Onur Güler is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Your console.warn is being executed before your Promise has resolved.
– Dan
Nov 9 at 15:14
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
If componentWillMount()
function is running first time, items
array is empty. Why?
componentWillMount()
items.splice(0, items.length);
RNFS.readDir(RNFS.DocumentDirectoryPath)
.then((result) =>
console.warn('result: ', result); // debug
for(var i = 0; i < result.length; i++)
if(result[i].name.endsWith('.txt'))
var tmp = result[i].name;
console.warn(tmp); // debug
items.push(tmp);
)
.catch((err) =>
console.log(err.message, err.code);
);
console.warn(items); // empty
And using readFile()
for get .txt's content, con
is empty
renderItem(item)
return (
<View style = styles.renderItemContainer
key=items.indexOf(item) >
<TouchableOpacity style=styles.renderItemTouchableOpacity
onPress = () =>
fileName = item;
var path = RNFS.DocumentDirectoryPath + '/' + fileName;
RNFS.readFile(path, 'utf8')
.then((contents) =>
console.warn(contents);
con = contents; // not working
)
.catch((err) =>
console.log(err.message, err.code);
);
console.warn(con); // empty
this.props.navigation.navigate('editorScreen');
>
<Text style = styles.renderItemText>
item
</Text>
</TouchableOpacity>
</View>
);
in render()
function, using items
array for list .txt files in ScrollView
render()
return(
....
<ScrollView>
items.map((items) => this.renderItem(items))
</ScrollView>
....
);
javascript arrays react-native react-native-fs
New contributor
Onur Güler is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
If componentWillMount()
function is running first time, items
array is empty. Why?
componentWillMount()
items.splice(0, items.length);
RNFS.readDir(RNFS.DocumentDirectoryPath)
.then((result) =>
console.warn('result: ', result); // debug
for(var i = 0; i < result.length; i++)
if(result[i].name.endsWith('.txt'))
var tmp = result[i].name;
console.warn(tmp); // debug
items.push(tmp);
)
.catch((err) =>
console.log(err.message, err.code);
);
console.warn(items); // empty
And using readFile()
for get .txt's content, con
is empty
renderItem(item)
return (
<View style = styles.renderItemContainer
key=items.indexOf(item) >
<TouchableOpacity style=styles.renderItemTouchableOpacity
onPress = () =>
fileName = item;
var path = RNFS.DocumentDirectoryPath + '/' + fileName;
RNFS.readFile(path, 'utf8')
.then((contents) =>
console.warn(contents);
con = contents; // not working
)
.catch((err) =>
console.log(err.message, err.code);
);
console.warn(con); // empty
this.props.navigation.navigate('editorScreen');
>
<Text style = styles.renderItemText>
item
</Text>
</TouchableOpacity>
</View>
);
in render()
function, using items
array for list .txt files in ScrollView
render()
return(
....
<ScrollView>
items.map((items) => this.renderItem(items))
</ScrollView>
....
);
javascript arrays react-native react-native-fs
javascript arrays react-native react-native-fs
New contributor
Onur Güler is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Onur Güler is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Onur Güler is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked Nov 9 at 15:13
![](https://lh6.googleusercontent.com/-jSUPYMdsW94/AAAAAAAAAAI/AAAAAAAAAAA/ABtNlbCk5n8ZoefF6NfpI-7hA-w6zfdq5A/mo/photo.jpg?sz=32)
![](https://lh6.googleusercontent.com/-jSUPYMdsW94/AAAAAAAAAAI/AAAAAAAAAAA/ABtNlbCk5n8ZoefF6NfpI-7hA-w6zfdq5A/mo/photo.jpg?sz=32)
Onur Güler
14
14
New contributor
Onur Güler is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Onur Güler is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Onur Güler is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Your console.warn is being executed before your Promise has resolved.
– Dan
Nov 9 at 15:14
add a comment |
Your console.warn is being executed before your Promise has resolved.
– Dan
Nov 9 at 15:14
Your console.warn is being executed before your Promise has resolved.
– Dan
Nov 9 at 15:14
Your console.warn is being executed before your Promise has resolved.
– Dan
Nov 9 at 15:14
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
Try :
componentWillMount()
items.splice(0, items.length);
RNFS.readDir(RNFS.DocumentDirectoryPath)
.then((result) =>
console.warn('result: ', result); // debug
for(var i = 0; i < result.length; i++)
if(result[i].name.endsWith('.txt'))
var tmp = result[i].name;
console.warn(tmp); // debug
items.push(tmp);
console.warn(items); // empty
)
.catch((err) =>
console.log(err.message, err.code);
);
Your promise runs async => the console.warn is called before the promise resolves (.then(...))
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
Try :
componentWillMount()
items.splice(0, items.length);
RNFS.readDir(RNFS.DocumentDirectoryPath)
.then((result) =>
console.warn('result: ', result); // debug
for(var i = 0; i < result.length; i++)
if(result[i].name.endsWith('.txt'))
var tmp = result[i].name;
console.warn(tmp); // debug
items.push(tmp);
console.warn(items); // empty
)
.catch((err) =>
console.log(err.message, err.code);
);
Your promise runs async => the console.warn is called before the promise resolves (.then(...))
add a comment |
up vote
1
down vote
Try :
componentWillMount()
items.splice(0, items.length);
RNFS.readDir(RNFS.DocumentDirectoryPath)
.then((result) =>
console.warn('result: ', result); // debug
for(var i = 0; i < result.length; i++)
if(result[i].name.endsWith('.txt'))
var tmp = result[i].name;
console.warn(tmp); // debug
items.push(tmp);
console.warn(items); // empty
)
.catch((err) =>
console.log(err.message, err.code);
);
Your promise runs async => the console.warn is called before the promise resolves (.then(...))
add a comment |
up vote
1
down vote
up vote
1
down vote
Try :
componentWillMount()
items.splice(0, items.length);
RNFS.readDir(RNFS.DocumentDirectoryPath)
.then((result) =>
console.warn('result: ', result); // debug
for(var i = 0; i < result.length; i++)
if(result[i].name.endsWith('.txt'))
var tmp = result[i].name;
console.warn(tmp); // debug
items.push(tmp);
console.warn(items); // empty
)
.catch((err) =>
console.log(err.message, err.code);
);
Your promise runs async => the console.warn is called before the promise resolves (.then(...))
Try :
componentWillMount()
items.splice(0, items.length);
RNFS.readDir(RNFS.DocumentDirectoryPath)
.then((result) =>
console.warn('result: ', result); // debug
for(var i = 0; i < result.length; i++)
if(result[i].name.endsWith('.txt'))
var tmp = result[i].name;
console.warn(tmp); // debug
items.push(tmp);
console.warn(items); // empty
)
.catch((err) =>
console.log(err.message, err.code);
);
Your promise runs async => the console.warn is called before the promise resolves (.then(...))
answered Nov 9 at 15:25
![](https://i.stack.imgur.com/J14qV.png?s=32&g=1)
![](https://i.stack.imgur.com/J14qV.png?s=32&g=1)
Lumpenstein
587
587
add a comment |
add a comment |
Onur Güler is a new contributor. Be nice, and check out our Code of Conduct.
Onur Güler is a new contributor. Be nice, and check out our Code of Conduct.
Onur Güler is a new contributor. Be nice, and check out our Code of Conduct.
Onur Güler is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53228384%2fhow-to-use-react-native-fs%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Your console.warn is being executed before your Promise has resolved.
– Dan
Nov 9 at 15:14