Advanced Meteor Features

Reactive Programming

Meteor leverages reactive programming to automatically update the UI when the underlying data changes. This is a powerful feature and is built into Meteor’s data layer.

Reactive Variables:

You can create reactive variables using ReactiveVar:

import { ReactiveVar } from 'meteor/reactive-var';

const count = new ReactiveVar(0);

// To get the value
count.get(); 

// To set the value
count.set(1);

Tracker:

Tracker allows you to automatically re-run code when reactive data sources change.

import { Tracker } from 'meteor/tracker';

Tracker.autorun(() => {
  console.log('This will run whenever the reactive variable changes');
});

Method Calls

Meteor methods are used to define functions that can be called from the client to the server. This is useful for executing server-side logic from the client.

Define a Method:

// On the server
Meteor.methods({
  'myMethod': function (param) {
    check(param, String);
    return `Received: ${param}`;
  }
});

Call a Method:

// On the client
Meteor.call('myMethod', 'Hello', (error, result) => {
  if (error) {
    console.error('Error:', error);
  } else {
    console.log('Result:', result);
  }
});

Server-Side Code

You can use the server side for tasks like user authentication, data validation, and more.

Example of a Server-Side Method with Validation:

Meteor.methods({
  'insertItem': function (item) {
    check(item, {
      name: String,
      quantity: Number
    });

    // Insert item into the collection
    Items.insert(item);
  }
});

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *