小编Era*_*bir的帖子

反应导航 - 标题的渐变颜色

我在React Native应用程序中使用React Navigation,我想将标题的backgroundColor更改为渐变,我发现有一个节点模块:react-native-linear-gradient来实现反应原生的渐变

我有这样的Root StackNavigator:

const Router = StackNavigator({

Login: {
    screen: Login,
    navigationOptions: ({navigation}) => ({
       headerTitle: <Text>SomeTitle</Text>
       headerLeft: <SearchAndAgent />,
       headerRight: <TouchableOpacity
        onPress={() => { null }
    </TouchableOpacity>,
    headerStyle: { backgroundColor: '#005D97' },
    }),
},
});
Run Code Online (Sandbox Code Playgroud)

我可以将Text或View包装为渐变:

<LinearGradient colors={['#3076A7', '#19398A']}><Text style={styles.title}>{title}</Text></LinearGradient>,
Run Code Online (Sandbox Code Playgroud)

如何在navigationOptions中包装标题背景以使用LinearGradient模块?

我知道我可以创建一个自定义标题组件并使用它,但是当我这样做时,React Navigation的所有本机导航动画都不像两个Routes之间的Title Animation那样工作,所以它没有帮助我.

谢谢你的帮助!

reactjs react-native react-navigation

12
推荐指数
3
解决办法
7948
查看次数

Mongoose 聚合查找 - 如何按特定 id 过滤

我正在尝试创建一个聚合管道 -$lookup仅从另一个集合接收不等于特定 _id 的项目

例如 :

诊所集合:

{_id:1,name:'some name1'}
{_id:2,name:'some name2'}
{_id:3,name:'some name3'}
Run Code Online (Sandbox Code Playgroud)

商业收藏:

{_id:1,name:"some business name",clinics:[1,2,3]}
Run Code Online (Sandbox Code Playgroud)

我的聚合管道查询:

db.business.aggregate([
    {$match: {_id: mongoose.Types.ObjectId(businessId)}},
    {$lookup: 
    {from: "ClinicsCollection", localField: "clinics", foreignField: "_id", as: "clinics"}},

]
Run Code Online (Sandbox Code Playgroud)

我想过滤所有不等于特定 ID 号的诊所,比如 _id : 1

预期结果 :

 clinics :[
    {_id:2,name:'some name2'}
    {_id:3,name:'some name3'}
 ]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

谢谢

mongoose mongodb mongodb-query aggregation-framework

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

如何使用 Node Express 路由处理 React Router

我正在尝试使用反应路由器和节点 js 服务器管理反应应用程序

我的路由器反应:

        <BrowserRouter>
        <Switch>
            <PrivateRoute token={token} Component={Payments} exact path="/payments"/>
            <PrivateRoute token={token} Component={User} exact path="/user"/>
            <PrivateRoute token={token} Component={User} exact path=""/>
            <PrivateRoute token={token} Component={User} exact path="/"/>
        </Switch>
       <BrowserRouter/>

 export const PrivateRoute = ({Component, ...rest,token}) => {

   return (
    <Route {...rest} render={props => token ? (<Component {...props}/>) :
        (<Redirect to={{pathname: '/login', state: {from: props.location}}}/>)

    }/>
   )

};
Run Code Online (Sandbox Code Playgroud)

和我的 NodeJS 服务器中的路由器:

const app = express();
const server = new Server(app);
const port = process.env.PORT || 5000;
app.use('/api',router);
app.use(express.static(path.join(__dirname, '/../react_dist')));
app.use('*',  (req, res)=> …
Run Code Online (Sandbox Code Playgroud)

node.js express reactjs react-router

5
推荐指数
2
解决办法
2万
查看次数

React - Material UI - TextField 控制的输入与自定义输入组件无法正常工作失去焦点

我正在尝试从 Material UI 实现 TextField 组件的自定义输入元素

例子 :


export const InputsPage: React.FC = () => {
  const [value, setValue] = useState('');
  return (
    <Paper>
      <Box p={2}>
        <TextField
          value={value}
          onChange={(e) => {
            setValue(e.target.value);
          }}
          color='primary'
          label='FROM'
          placeholder='Placeholder'
          InputProps={{
            inputComponent: ({ inputRef, ...rest }) => <input ref={inputRef} {...rest} type='text' />,
          }}
        />
      </Box>
    </Paper>
  );
};
Run Code Online (Sandbox Code Playgroud)

因为我在自己的状态下使用受控输入,所以输入无法正常工作...每次尝试输入某些内容时,输入都会失去焦点,因此我需要输入每个字符/数字,然后再次单击输入以确定焦点,以便我可以继续打字

如果我使用不受控制的输入,它会正常工作

这是发生的情况的示例:codeSandbox

reactjs material-ui

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

使用React Native构建两个孪生应用程序的最佳文件夹结构是什么?

我需要使用React Native创建两个孪生应用程序,并且两个应用程序将使用某些共享组件的相同度为90%,并且样式会有所不同。

问题是:我应该创建一个React Native项目,然后从那里构建两个应用程序吗?

文件夹结构为:

  • ReactProject
    • 共享
    • 专案1
      • 组件
    • 项目2
      • 组件
  • index.ios.js
  • index.android.js

当我要构建其中一个应用程序时,我将需要更改主要组件。

还是应该创建到其他React Native项目

文件夹结构为:

  • 共享
  • ReactProject1
    • 组件
    • index.ios.js
    • index.android.js
  • ReactProject2
    • 组件
    • index.ios.js
    • index.android.js

我想知道什么是做这种项目的正确方法

谢谢 !

build react-native

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

Nest.js RabbitMQ 不发送/接收消息

我有两个带有 Nest.js 的微服务,它们都连接到 RabbitMQ 服务(一个是发布者,一个是接收者),我试图从发布者向接收者发送消息,但似乎它根本没有执行任何操作

出版商:

auth.module.ts :
 imports:[ClientsModule.registerAsync([
      {
        name: 'RMQ_SERVICE',
        imports: [ConfigModule],
        useFactory: (configService: ConfigService) => ({
          transport: Transport.RMQ,
          options: {
            urls: [`amqp://${configService.get('RMQ_HOST')}:5672`],
            queue: 'api-queue',
            queueOptions: {
              durable: false,
            },
          },
        }),
        inject: [ConfigService],
      },
    ]),
]

auth.service.ts : 
@Inject('RMQ_SERVICE') private readonly client: ClientProxy,

and using it like that : 
 this.client.send({ cmd: 'create-user-data' },{});

Run Code Online (Sandbox Code Playgroud)

接收者 :

main.ts : 
app.connectMicroservice<MicroserviceOptions>({
    transport: Transport.RMQ,
    options: {
      noAck: false,
      urls: [`amqp://${process.env.RMQ_HOST}:5672`],
      queue: 'api-queue',
      queueOptions: {
        durable: false,
      },
    },
  });
  await app.startAllMicroservices(); …
Run Code Online (Sandbox Code Playgroud)

rabbitmq nestjs

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

React Navigation - 自定义标题动画

我在 React Native App 中使用 React Navigation,并为我的路由创建了一个自定义标题组件

像这样 :

const Router = StackNavigator({
 Main: {
     screen: Main,
     navigationOptions: ({navigation}) => ({
         header:<Header title="Main"/>
     })
   },
})
Run Code Online (Sandbox Code Playgroud)

当使用自定义标题组件时,本机动画不起作用我想知道如何在标题中实现与此处相同的动画https://reactnavigation.org/

reactjs react-native react-navigation

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