我正在为我的组件使用异步反应选择,但无法解决默认选项的问题。文档无法帮助我,因为没有与我的问题相关的示例。
const campaignToOption = campaign => ({value: campaign.id, label: campaign.name});
const loadOptionsWrapper = fetchAll =>
input => fetchAll({
_limit: 10000,
q: input,
_sort: 'name',
_order: 'asc',
}).then(campaigns => _(campaigns).reject('meta').map(campaignToOption).values());
const defaultProps = {
options: [],
placeholder: 'Campaign: Not selected',
};
const CampaignFilter = props => {
return <Async
defaultOptions={[{label: 'All Campaigns', value: '-2', group: true}]}
loadOptions={loadOptionsWrapper(props?.actions?.fetchAllCampaigns)}
{...defaultProps}
{...props}
/>;
};
export default CampaignFilter;
Run Code Online (Sandbox Code Playgroud)
我想添加一个选项,让用户选择所有选项。因此,在 AsyncSelect 的情况下,选项是异步加载的。文档说我们可以使用defaultOptions。
defaultOptions 属性确定您的远程请求最初被触发的“时间”。该属性有两个有效值。向此道具提供选项数组将填充打开选择时使用的初始选项集,此时远程加载仅在过滤选项(在控件中键入)时发生。单独提供 prop(或使用“true”)告诉控件立即触发由 loadOptions 描述的远程请求,以获取 Select 的初始值。
但我的目标是获得像这张照片这样的组件`
我有一个对象数组。对象包含有关城市及其几何信息的信息。这是我的数组
> [ {country: "AM", name: "Abovyan", lat: 40.27368, lng: 44.63348},
> {country: "AM", name: "Abovyan", lat: 40.04851, lng: 44.54742},
> {country: "AM", name: "Kapan", lat: 39.20755, lng: 46.4057} ]
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我有 2 个具有相同名称的对象(例如 Abovyan),但它们的几何信息不同。我从一些 API 获得这个数组,我想过滤它。我如何过滤它以使其只有一个具有特定键/值的对象(在本例中为名称)?
我想得到一个像这样的过滤数组`
[ {country: "AM", name: "Abovyan", lat: 40.27368, lng: 44.63348},
{country: "AM", name: "Kapan", lat: 39.20755, lng: 46.4057} ]
Run Code Online (Sandbox Code Playgroud) 我试图集成reselect到当前的应用程序中,并且一如既往,首先我开始阅读文档,然后如果需要的话,又重新整理了文档。我既不理解文档的一个特殊部分,也找不到能够在文档中解释的资源。更清晰的方式。现在我在这里得到一些明确的解释。所以它在文档中说
import React from 'react'
import Footer from './Footer'
import AddTodo from '../containers/AddTodo'
import VisibleTodoList from '../containers/VisibleTodoList'
const App = () => (
<div>
<VisibleTodoList listId="1" />
<VisibleTodoList listId="2" />
<VisibleTodoList listId="3" />
</div>
)
Run Code Online (Sandbox Code Playgroud)
将getVisibleTodos选择器与VisibleTodoList容器的多个实例一起使用将无法正确记住:
import { connect } from 'react-redux'
import { toggleTodo } from '../actions'
import TodoList from '../components/TodoList'
import { getVisibleTodos } from '../selectors'
const mapStateToProps = (state, props) => {
return {
// WARNING: THE FOLLOWING SELECTOR DOES NOT CORRECTLY MEMOIZE
todos: getVisibleTodos(state, …Run Code Online (Sandbox Code Playgroud) 在构造函数中访问props的正确方法是什么?是的,我知道在React文档中说
在为React.Component子类实现构造函数时,应在其他任何语句之前调用super(props)。否则,this.props将在构造函数中未定义,这可能会导致错误
更明确地说,this.props如果仅在构造函数中使用props ,为什么会需要
class MyComponent extends React.Component {
constructor(props) {
super(props)
console.log(props)
// -> { something: 'something', … }
// absolutely same
console.log(this.props)
// -> { something: 'something', … }
}
}
Run Code Online (Sandbox Code Playgroud)
有什么情况下可以使用props完this.props吗?
当路由更改时,我在渲染组件时遇到了一个奇怪的问题。\n我使用的版本
\n\n{\n "react": "16.9.0",\n "react-dom": "16.9.0",\n "react-router-dom": "5.1.0"\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的路线配置
\n\nconst Routes = () => {\n const isLoggedIn = StorageManager.get(\'session\');\n return (\n <>\n <div className="background"></div>\n <MainLayout>\n <Header />\n <LeftSidebarMenu />\n <main className="main-container">\n <Router history={history}>\n <Switch>\n <Redirect exact from="/" to="/categories" />\n <Route exact path=\'/categories\' component={Home} />\n <Route exact path=\'/categories/new\' component={CreateCategory} />\n <Route exact path=\'/login\' component={Login}\n />\n </Switch>\n </Router>\n </main>\n </MainLayout>\n </>\n );\n};\n\nexport default Routes;\nRun Code Online (Sandbox Code Playgroud)\n\n主要问题是,当用户单击登录/注销时,如果成功/失败,它应该将用户重定向到适当的页面。实际上路线发生了变化,但组件没有被渲染。我使用history.push(PATH)来重定向用户。我不是react初学者,说实话,我第一次遇到这种奇怪的问题。也许我把一些东西与我的路由器配置混淆了。
\n\nimport React, {useState} from \'react\';\nimport {withRouter, Link} from \'react-router-dom\';\nimport Modal …Run Code Online (Sandbox Code Playgroud) 我试图在我的函数中添加最后一个类型,但是无论我做什么,打字稿都会抱怨。我知道有办法解决这个问题,需要你的帮助。
export const getPropertiesArray = <T extends object, K extends keyof T>(data: T[], property: K) => {
return data.map(item => item[property]).sort();
};
Run Code Online (Sandbox Code Playgroud)
这是我的函数,我需要添加一个默认值property,在本例中,默认值是“ID”。
我正在尝试添加一个别名,.gitconfig如果没有命令行参数,该别名应解析为默认值。
lgs = "!f() { git log --stat $1; }; f"
Run Code Online (Sandbox Code Playgroud)
git lgs应该打印最后一次提交的统计日志。
git lgs -2- 应打印最后 2 次提交的统计日志。(这个正在工作)。
我尝试了几种选择但没有结果
lgs = "!f() { git log --stat $1:=-1; }; f"lgs = "!f() { git log --stat $1:-1; }; f"lgs = "!f() { git log --stat $1=-1; }; f"我怎样才能正确实施它?
我有这种类型的数组。
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]
Run Code Online (Sandbox Code Playgroud)
过滤数组的要求是
并继续直到数组末尾。
最后它应该返回[5,6,7,8,13,14,15,16,21,22,23,24]
我正在尝试用正则表达式解决任务.给定带有字符串参数的函数.该字符串包含(){}<>[]大括号.我必须检查字符串是否在语法上是真的,我还应该计算括号嵌套.这是我的版本(不完整)`
const checkBraces = (str) => {
const newStr = str.replace(/[^(){}<>[\]]+/gi, '');
let answer = newStr.match(/\(+\)+|\<+\>+|\{+\}+|\[+\]+/g);
console.log(answer);
}
Run Code Online (Sandbox Code Playgroud)
这是函数`的最小测试次数
checkBraces("---(++++)----") == 0
checkBraces("") == 0
checkBraces("before ( middle []) after ") == 0
checkBraces(") (") == 1
checkBraces("} {") == 1
checkBraces("<( >)") == 1
checkBraces("( [ <> () ] <> )") == 0
checkBraces(" ( [)") == 1
Run Code Online (Sandbox Code Playgroud)
如果出现错误,则函数应返回1,否则为0.在我的函数中,我首先尝试替换所有,non-braces所以我有一个明确的字符串.现在我无法解决这个问题.
我正在尝试解码 URL 并URL使用nodejs.
const url = require('url');
const oldUrl = "https://tut.by/ad=%24%7Baccount.domain%7D";
const newUrl = url.parse(oldUrl, true).format();
Run Code Online (Sandbox Code Playgroud)
这是返回值newUrl
{
auth: null
hash: null
host: "tut.by"
hostname: "tut.by"
href: "https://tut.by/?ad=%24%7Baccount.domain%7D"
path: "/?ad=%24%7Baccount.domain%7D"
pathname: "/"
port: null
protocol: "https:"
query: {ad: "${account.domain}"}
search: "?ad=%24%7Baccount.domain%7D"
slashes: true
}
Run Code Online (Sandbox Code Playgroud)
当我最终将其格式化为这样时:
{
auth: null
hash: null
host: "tut.by"
hostname: "tut.by"
href: "https://tut.by/?ad=%24%7Baccount.domain%7D"
path: "/?ad=%24%7Baccount.domain%7D"
pathname: "/"
port: null
protocol: "https:"
query: {ad: "${account.domain}"}
search: "?ad=%24%7Baccount.domain%7D"
slashes: true
}
Run Code Online (Sandbox Code Playgroud)
它返回:
const formattedUrl …Run Code Online (Sandbox Code Playgroud) javascript ×7
reactjs ×4
arrays ×2
bash ×1
class ×1
constructor ×1
decode ×1
ecmascript-6 ×1
encoding ×1
git ×1
node.js ×1
parsing ×1
react-redux ×1
react-router ×1
react-select ×1
redux ×1
reselect ×1
shell ×1
string ×1
types ×1
typescript ×1
url ×1