可以说我有一个像这样使用forwardRef
的基本组件:
const BaseMessage = React.forwardRef((props, ref) => (
<div ref={ref}>
{props.icon}
<h2>{props.title}</h2>
<p>{props.message}</p>
</div>
)
现在,我想创建第二个组件ErrorMessage
,该组件本质上是BaseMessage
的副本,但具有props.icon
的预定义值,使得icon
属性不需要设置。否则,其为BaseMessage
的精确副本。
<ErrorMessage title="Oops!" message="Something went wrong when submitting the form. Please try again." />
我不想这样做,因为在这里进行两层forwardRef
感觉很奇怪:
const ErrorMessage = React.forwardRef(({icon, ...props}, ref) => (
<BaseMessage ref={ref} icon={<svg></svg>} {...props} />
))
是否有一种方法可以制作BaseMessage
的克隆/副本,而不必为forwardRef
重新实现ErrorMessage
?我知道那里有withProps
中的recompose
这样的实用程序,但我想避免使用库。
答案 0 :(得分:0)
TextQuery query = new TextQuery(TextCriteria.forDefaultLanguage().matching("red"));
query.addCriteria(Criteria.where("category_id").is(42));
query.sortByScore();