Saya mencoba memformat data yang harus ditampilkan di <Text>. Inilah metode formatData() saya:

getFormattedData = (idA, idB) => {
    var formattedData = "";
    if (idA != null && idA != "") {
        formattedData = formattedData + "&#8226;" + " " + idA
    }
    if (idB != null && idB != "") {
        formattedData = formattedData + "&#8226;" + " " + idB
    }
    return formattedData;
};

Namun dalam pandangan, ini dirender sebagai ABC &#8226; DEF. Dan bukan sebagai ABC • DEF

Saat saya menggunakan \u2B24 pelurunya sangat besar dan saat menggunakan \2022, hanya kode yang ditampilkan.

Bagaimana cara merender dengan getFormattedData()?

0
Gokul Nath KP 28 Mei 2019, 12:48

2 jawaban

Jawaban Terbaik

Untuk mengurai Entitas HTML, Anda dapat menggunakan modul npm html-entitas.

import { Html5Entities } from 'html-entities'; 

render() {
    const entities = new Html5Entities();
    return (
      <SafeAreaView style={styles.container}>
        <View>
        <Text> {entities.decode('&#8226;')} </Text>
        </View>
      </SafeAreaView>
    );
  }
2
Tim 28 Mei 2019, 10:00

Ini bekerja untuk saya,

getFormattedData = (idA, idB) => {
    var formattedData = "";
    if (idA != null && idA != "") {
        formattedData = <div>{formattedData}&#8226;{idA}</div>
    }
    if (idB != null && idB != "") {
        formattedData = <div>{formattedData}&#8226;{idB}</div>
    }
    return formattedData;
};

render() {
    return (
        <div>{this.getFormattedData(12,"abc")}</div>
    );
  }

Keluaran:

•12

•abc

4
Tenusha Guruge 28 Mei 2019, 10:42