簡體   English   中英

使用currying函數反應prop-type驗證

[英]React prop-type validation with currying functions

我是React的新手,遇到了一個問題,即我無法驗證從curried函數返回的組件上的props。

我已經嘗試驗證“列表”和“包裝組件”上的道具類型,但仍然沒有成功。 在此特定實例中,我將如何驗證“數據”道具?

 import React from "react"; import PropTypes from "prop-types"; const styles = { listStyles: { display: "flex", flexDirection: "row", flexWrap: "wrap", listStyle: "none", }, }; const List = WrappedComponent => ({ data }) => ( <ul style={styles.listStyles}> {data && data.map(item => ( <div> <WrappedComponent {...item} /> </div> ))} </ul> ); List.propTypes = { data: PropTypes.array.isRequired, }; export default List; 

您正在將propTypes添加到外部函數,而不是組件本身。

const makeList = WrappedComponent => {
  const List = ({ data }) => (
    <ul style={styles.listStyles}>
      {data &&
        data.map(item => (
          <div>
            <WrappedComponent {...item} />
          </div>
        ))}
    </ul>
  );

  List.propTypes = {
    data: PropTypes.array.isRequired,
  };

  return List
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM