小编Joh*_*ohn的帖子

平面列表未在本机反应中呈现

在我的 React 本机页面中,
我使用参数从一个页面导航到另一个页面

因此这些参数具有 id,它将用于从端点获取数据并将其显示在平面列表中

function Assessments ({route,navigation}) {
  useEffect(()=>{
    fetchData(file)
  },[]);
  const { file } = route.params;
  const [data,setData] = useState([]);
Run Code Online (Sandbox Code Playgroud)

文件由路由参数(Id)组成

和 fetchdata 函数触发该函数与 id 并获取数据

  const fetchData = async (file) => {
    axios.get(`endpoint`)

      .then(function (response) {
        console.log(response.data)
        setData(response.data)
  


      })
      .catch(function (error) {
          console.log(error);
      })

  }
Run Code Online (Sandbox Code Playgroud)

我正在返回这个

 return (

<View>
  <Text>okay</Text>


      <FlatList 
            flexGrow= {0}

            minHeight= '20%'
            maxHeight='80%'
      data={data}
      renderItem={showdata}>
      </FlatList>


      </View>
 )
Run Code Online (Sandbox Code Playgroud)

渲染项目是

  const showdata = ({item}) => {
      <View>
        sdfdsfsdf
      </View>
    
  }
Run Code Online (Sandbox Code Playgroud)

但这部分甚至没有被渲染

不知道问题出在哪里!

控制台.log()

{ …
Run Code Online (Sandbox Code Playgroud)

reactjs react-native react-native-flatlist

1
推荐指数
1
解决办法
44
查看次数

django taggit-serializer不在rest框架中创建标签

这是我的 models.py

class Post(models.Model):
    author=models.ForeignKey(User,on_delete=models.CASCADE,related_name="post")
    title=models.CharField(max_length=128,null=True,blank=True)
    rate=models.IntegerField(validators=[MinValueValidator(1),MaxValueValidator(5)],default=True,null=True,blank=True)

    # rating=models.IntegerField(null=True,blank=True)
    content=models.TextField(null=True,blank=True)
    review=models.CharField(max_length=250,null=True,blank=True)
    url=models.URLField(null=True,blank=True)
    voters = models.ManyToManyField(settings.AUTH_USER_MODEL,blank=True,related_name="post_voters")
    tags = TaggableManager()
Run Code Online (Sandbox Code Playgroud)

在我的serializers.py中我已经导入了

from taggit_serializer.serializers import (TagListSerializerField,
                                           TaggitSerializer)
Run Code Online (Sandbox Code Playgroud)

这是后序列化器

class Spost(serializers.ModelSerializer,TaggitSerializer):
    tags = TagListSerializerField()

    author=serializers.StringRelatedField(read_only=True)
    # likes_count=serializers.SerializerMethodField(read_only=True)
    # user_has_voted=serializers.SerializerMethodField(read_only=True)
    ## for string related field without displaying it as numerics , it displays the direct object of that object"
    # user=Scomments()
    class Meta:
        model = Post
        fields = ('id','title','rate','author','content','review','url','tags')
    def get_likes_count(self,instance):
        return instance.voters.count()
    def get_user_has_voted(self,instance):
        request=self.context.get("request")
        return instance.voters.filter(pk=request.user.pk).exists()
Run Code Online (Sandbox Code Playgroud)

但我现在面临的问题是,每当我触发带有标签的发布请求时,就会创建对象,我会得到该对象以及正在创建的标签,但是当我在管理面板中看到标签部分时,标签部分并未更新

{
        "rate": 4,
        "content": "content",
        "review": …
Run Code Online (Sandbox Code Playgroud)

python django django-taggit django-rest-framework

0
推荐指数
1
解决办法
1224
查看次数