Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从数据库中选择特定项_Javascript_Reactjs_Filter_Selector - Fatal编程技术网

Javascript 从数据库中选择特定项

Javascript 从数据库中选择特定项,javascript,reactjs,filter,selector,Javascript,Reactjs,Filter,Selector,正在尝试为博客组件分配特定的api数据(仅作者:Mike)。这里有问题。不过使用了PropTypes。只想为BlogScreen const创建仅作者:Mike的数据 import React from 'react'; import PropTypes from 'prop-types'; import styles from './BlogScreen.module.scss'; const BlogScreen = ({ data }) => { if (!data) {

正在尝试为博客组件分配特定的api数据(仅作者:Mike)。这里有问题。不过使用了PropTypes。只想为BlogScreen const创建仅作者:Mike的数据

import React from 'react';
import PropTypes from 'prop-types';


import styles from './BlogScreen.module.scss';


const BlogScreen = ({ data }) => {
  if (!data) {
    return (<Spinner />);
  }


  const { blog, author, posts } = data;

  return (
    <main>
      <BlogHeader name={blog.name} description={blog.description} />
      <PreContent />
      <div className={styles.posts}>
        {
          posts.map((post) => (
            <PostPreview post={post} author={author} key={post.id} />
          ))
        }
      </div>
      <Footing />
    </main>
  );
};

BlogScreen.defaultProps = {
  data: null,
};

BlogScreen.propTypes = {
  data: PropTypes.object,
};

export default BlogScreen;
从“React”导入React;
从“道具类型”导入道具类型;
从“/BlogScreen.module.scss”导入样式;
常量BlogScreen=({data})=>{
如果(!数据){
返回();
}
const{blog,author,posts}=数据;
返回(
{
posts.map((post)=>(
))
}
);
};
BlogScreen.defaultProps={
数据:空,
};
BlogScreen.propTypes={
数据:PropTypes.object,
};
导出默认博客屏幕;

前端不负责从数据库中选择特定项目。您的后端应该有一个端点,该端点以authorName作为参数,并返回该作者的博客文章。然后,只向BlogScreen组件传递作者的数据。您不能在数据库中加载所有博客文章,也不能在前端进行筛选。

从数据库中选择特定项目不是前端的责任。您的后端应该有一个端点,该端点以authorName作为参数,并返回该作者的博客文章。然后,只向BlogScreen组件传递作者的数据。您无法加载数据库中的所有博客帖子并在前端进行筛选。

const BlogScreen=({data,approvedAuthor})=>{
    const BlogScreen = ({ data, approvedAuthor }) => {
      if (!data) {
        return (<Spinner />);
      }
    
      if (data.author !== approvedAuthor) return null;
    
      const { blog, author, posts } = data;
    
      return (
        <main>
          <BlogHeader name={blog.name} description={blog.description} />
          <PreContent />
          <div className={styles.posts}>
            {
              posts.map((post) => (
                <PostPreview post={post} author={author} key={post.id} />
              ))
            }
          </div>
          <Footing />
        </main>
      );
    };    
  

  BlogScreen.defaultProps = {
    data: null,
    approvedAuthor: 'Mike',
  };
    
  BlogScreen.propTypes = {
    data: PropTypes.object
    approvedAuthor: PropTypes.string,
  };
如果(!数据){ 返回(); } if(data.author!==approvedAuthor)返回null; const{blog,author,posts}=数据; 返回( { posts.map((post)=>( )) } ); }; BlogScreen.defaultProps={ 数据:空, 批准作者:'迈克', }; BlogScreen.propTypes={ 数据:PropTypes.object approvedAuthor:PropTypes.string, };
constblogscreen=({data,approvedAuthor})=>{
如果(!数据){
返回();
}
if(data.author!==approvedAuthor)返回null;
const{blog,author,posts}=数据;
返回(
{
posts.map((post)=>(
))
}
);
};    
BlogScreen.defaultProps={
数据:空,
批准作者:'迈克',
};
BlogScreen.propTypes={
数据:PropTypes.object
approvedAuthor:PropTypes.string,
};

我不知道什么样的数据库?通过react组件道具传递数据,道具数据必须仅与Mike有关。我想你的问题是你的问题我不知道什么样的数据库?通过react组件道具传递数据,道具数据必须仅与Mike有关。我想你的问题是你的问题,请在你的答案中对代码添加一个解释。@SomoKRoceS据我所知,你用返回的
BlogScreen
映射了一些东西,例如
data.map(item=>({
我建议将作者作为第二个道具传递,例如
data.map(item=>({)={item.data}approvedAuthor={Mike or where'}/>}))
Hi,请在您的答案中对代码进行解释。@SomoKRoceS,据我所知,您使用返回的
BlogScreen
映射了一些东西,例如
data.map(item=>({])
我建议将author作为第二个属性传递,例如
data.map(item=>({}))