Render changelog.md instead of opening a webview #10

Closed
Ghost wants to merge 6 commits from (deleted):changelog_screen into master
Showing only changes of commit e4a301536d - Show all commits

View file

@ -0,0 +1,47 @@
import React from 'react';
import Markdown from "react-native-markdown-display";
import {withTheme} from "react-native-paper";
/**

Tu n'as pas défini les PropsType à utiliser pour appeler ce composant (regarde un autre composant que j'ai fait pour comparer)

Tu n'as pas défini les PropsType à utiliser pour appeler ce composant (regarde un autre composant que j'ai fait pour comparer)
* Read a text file and output the content
*
* Example Usage:
* var myTxt = require("./myTxt.txt");
* ...
* <TextFileReader
txt={myTxt}
/>
*/
class TextFileReader extends React.Component {
constructor(props) {

et donc ici tu dois dire que props est de type PropsType (props: PropsType)

et donc ici tu dois dire que props est de type PropsType (props: PropsType)
super(props);
this.state = {
text: ""
};
}
componentDidMount() {
this.readTextFile(this.props.text);

Si tu as bien configuré eslint, regarde bien son erreur.

Il faut faire const text = {this.props}, c'est ce qui s'appelle destructuring

Si tu as bien configuré eslint, regarde bien son erreur. Il faut faire const text = {this.props}, c'est ce qui s'appelle destructuring
}
readTextFile = file => {
let xhr = new XMLHttpRequest();

Utilise pas XMLHttpRequest pour faire des requêtes web c'est super chiant à utiliser. à la place, utilise la fonction fetch. Tu peux aller voir dans src/utils/WebData.js pour voir comment faire

Utilise pas XMLHttpRequest pour faire des requêtes web c'est super chiant à utiliser. à la place, utilise la fonction fetch. Tu peux aller voir dans src/utils/WebData.js pour voir comment faire
xhr.open("GET", file, true);
xhr.onreadystatechange = () => {
if(xhr.readyState === 4 && xhr.status === 200){
const allText = xhr.responseText;
this.setState({
text: allText
});
}
};
xhr.send(null);
};
render(){

Eslint va t'embêter avec le type de retour, il suffit d'écrire render: React.Node () { pour qu'il arrête de râler

Eslint va t'embêter avec le type de retour, il suffit d'écrire `render: React.Node () {` pour qu'il arrête de râler
return (
<Markdown>{this.state.text}</Markdown>
)
}
}
export default withTheme(TextFileReader);